Refactor LoadClassMetadataEventArgs to ensure it contains an EntityManager
This commit is contained in:
parent
d29cc3660f
commit
08be905fc3
@ -20,6 +20,8 @@
|
||||
namespace Doctrine\ORM\Event;
|
||||
|
||||
use Doctrine\Common\Persistence\Event\LoadClassMetadataEventArgs as BaseLoadClassMetadataEventArgs;
|
||||
use Doctrine\ORM\Mapping\ClassMetadata;
|
||||
use Doctrine\ORM\EntityManager;
|
||||
|
||||
/**
|
||||
* Class that holds event arguments for a loadMetadata event.
|
||||
@ -29,6 +31,22 @@ use Doctrine\Common\Persistence\Event\LoadClassMetadataEventArgs as BaseLoadClas
|
||||
*/
|
||||
class LoadClassMetadataEventArgs extends BaseLoadClassMetadataEventArgs
|
||||
{
|
||||
/**
|
||||
* @param ClassMetadata $classMetadata
|
||||
* @param EntityManager $entityManager
|
||||
*/
|
||||
function __construct(ClassMetadata $classMetadata, EntityManager $entityManager)
|
||||
{
|
||||
/*
|
||||
We use our own constructor here to enforce type-hinting requirements,
|
||||
since both inputs are specialized subclasses compared to what the super-
|
||||
class is willing to accept.
|
||||
|
||||
In particular, we want to have EntityManager rather than ObjectManager.
|
||||
*/
|
||||
parent::__construct($classMetadata, $entityManager);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve associated EntityManager.
|
||||
*
|
||||
@ -36,6 +54,18 @@ class LoadClassMetadataEventArgs extends BaseLoadClassMetadataEventArgs
|
||||
*/
|
||||
public function getEntityManager()
|
||||
{
|
||||
return $this->getObjectManager();
|
||||
$em = $this->getObjectManager();
|
||||
assert($em instanceof EntityManager);
|
||||
return $em;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the associated ClassMetadata.
|
||||
*
|
||||
* @return \Doctrine\ORM\Mapping\ClassMetadata
|
||||
*/
|
||||
public function getClassMetadata()
|
||||
{
|
||||
return parent::getClassMetadata();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user