Kdyby\Doctrine\RepositoryFactory::createRepository PHP Method

createRepository() private method

Create a new repository instance for an entity class.
private createRepository ( Doctrine\ORM\EntityManagerInterface $entityManager, Doctrine\ORM\Mapping\ClassMetadata $metadata ) : Doctrine\Common\Persistence\ObjectRepository
$entityManager Doctrine\ORM\EntityManagerInterface The EntityManager instance.
$metadata Doctrine\ORM\Mapping\ClassMetadata
return Doctrine\Common\Persistence\ObjectRepository
    private function createRepository(EntityManagerInterface $entityManager, Doctrine\ORM\Mapping\ClassMetadata $metadata)
    {
        $defaultClass = $entityManager->getConfiguration()->getDefaultRepositoryClassName();
        $customClass = ltrim($metadata->customRepositoryClassName, '\\');
        if (empty($customClass) || $customClass === $defaultClass) {
            $factory = $this->getRepositoryFactory($this->defaultRepositoryFactory);
        } elseif (isset($this->repositoryServicesMap[$customClass])) {
            $factory = $this->getRepositoryFactory($this->repositoryServicesMap[$customClass]);
        } else {
            return new $customClass($entityManager, $metadata);
        }
        return $factory->create($entityManager, $metadata);
    }