1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
<?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 callable|null */
public $fallbackCallback;
/** @phpstan-param CMTemplate $metadata */
public function __construct(public MappingDriver $driver, public ClassMetadata $metadata)
{
}
/**
* {@inheritDoc}
*/
protected function doLoadMetadata(
ClassMetadata $class,
ClassMetadata|null $parent,
bool $rootEntityFound,
array $nonSuperclassParents,
): void {
}
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|null
{
if ($this->fallbackCallback === null) {
return null;
}
return ($this->fallbackCallback)();
}
public function isTransient(string $className): bool
{
return $className !== $this->metadata->getName();
}
public function getCacheKey(string $realClassName): string
{
return parent::getCacheKey($realClassName);
}
}
|