public function testEventArgsMutability() { /* @var $objectManager \Doctrine\Common\Persistence\ObjectManager */ $objectManager = $this->getMock('Doctrine\\Common\\Persistence\\ObjectManager'); $args = new OnClassMetadataNotFoundEventArgs('foo', $objectManager); $this->assertSame('foo', $args->getClassName()); $this->assertSame($objectManager, $args->getObjectManager()); $this->assertNull($args->getFoundMetadata()); /* @var $metadata \Doctrine\Common\Persistence\Mapping\ClassMetadata */ $metadata = $this->getMock('Doctrine\\Common\\Persistence\\Mapping\\ClassMetadata'); $args->setFoundMetadata($metadata); $this->assertSame($metadata, $args->getFoundMetadata()); $args->setFoundMetadata(null); $this->assertNull($args->getFoundMetadata()); }
/** * @param OnClassMetadataNotFoundEventArgs $args * * @internal this is an event callback, and should not be called directly * * @return void */ public function onClassMetadataNotFound(OnClassMetadataNotFoundEventArgs $args) { if (array_key_exists($args->getClassName(), $this->resolveTargetEntities)) { $args->setFoundMetadata($args->getObjectManager()->getClassMetadata($this->resolveTargetEntities[$args->getClassname()]['targetEntity'])); } }
/** * @param OnClassMetadataNotFoundEventArgs $eventArgs */ public function onClassMetadataNotFound(OnClassMetadataNotFoundEventArgs $eventArgs) { if (class_implements($eventArgs->getClassName(), 'steevanb\\DoctrineReadOnlyHydrator\\Entity\\ReadOnlyEntityInterface')) { $eventArgs->setFoundMetadata($eventArgs->getObjectManager()->getClassMetadata(get_parent_class($eventArgs->getClassName()))); } }