mirror of
https://github.com/doctrine/persistence.git
synced 2026-03-23 22:42:11 +01:00
104 lines
2.4 KiB
PHP
104 lines
2.4 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Doctrine\Tests\Persistence\Mapping;
|
|
|
|
use Doctrine\Persistence\Mapping\AbstractClassMetadataFactory;
|
|
use Doctrine\Persistence\Mapping\ClassMetadata;
|
|
use Doctrine\Persistence\Mapping\Driver\MappingDriver;
|
|
use Doctrine\Persistence\Mapping\ReflectionService;
|
|
|
|
/**
|
|
* @template CMTemplate of ClassMetadata
|
|
* @template-extends AbstractClassMetadataFactory<CMTemplate>
|
|
*/
|
|
class TestClassMetadataFactory extends AbstractClassMetadataFactory
|
|
{
|
|
/** @var MappingDriver */
|
|
public $driver;
|
|
|
|
/**
|
|
* @var ClassMetadata
|
|
* @psalm-var CMTemplate
|
|
*/
|
|
public $metadata;
|
|
|
|
/** @var callable|null */
|
|
public $fallbackCallback;
|
|
|
|
/**
|
|
* @psalm-param CMTemplate $metadata
|
|
*/
|
|
public function __construct(MappingDriver $driver, ClassMetadata $metadata)
|
|
{
|
|
$this->driver = $driver;
|
|
$this->metadata = $metadata;
|
|
}
|
|
|
|
/**
|
|
* {@inheritDoc}
|
|
*/
|
|
protected function doLoadMetadata(
|
|
ClassMetadata $class,
|
|
?ClassMetadata $parent,
|
|
bool $rootEntityFound,
|
|
array $nonSuperclassParents
|
|
): void {
|
|
}
|
|
|
|
protected function getFqcnFromAlias(string $namespaceAlias, string $simpleClassName): string
|
|
{
|
|
/** @psalm-var class-string */
|
|
return __NAMESPACE__ . '\\' . $simpleClassName;
|
|
}
|
|
|
|
protected function initialize(): void
|
|
{
|
|
}
|
|
|
|
protected function newClassMetadataInstance(string $className): ClassMetadata
|
|
{
|
|
return $this->metadata;
|
|
}
|
|
|
|
protected function getDriver(): MappingDriver
|
|
{
|
|
return $this->driver;
|
|
}
|
|
|
|
protected function wakeupReflection(ClassMetadata $class, ReflectionService $reflService): void
|
|
{
|
|
}
|
|
|
|
protected function initializeReflection(ClassMetadata $class, ReflectionService $reflService): void
|
|
{
|
|
}
|
|
|
|
protected function isEntity(ClassMetadata $class): bool
|
|
{
|
|
return true;
|
|
}
|
|
|
|
protected function onNotFoundMetadata(string $className): ?ClassMetadata
|
|
{
|
|
if ($this->fallbackCallback === null) {
|
|
return null;
|
|
}
|
|
|
|
return ($this->fallbackCallback)();
|
|
}
|
|
|
|
public function isTransient(string $class): bool
|
|
{
|
|
$name = $this->metadata->getName();
|
|
|
|
return $class !== $name;
|
|
}
|
|
|
|
public function getCacheKey(string $realClassName): string
|
|
{
|
|
return parent::getCacheKey($realClassName);
|
|
}
|
|
}
|