. */ namespace Doctrine\ORM\Tools; use Doctrine\ORM\Mapping\ClassMetadataFactory; use Doctrine\ORM\Mapping\ClassMetadataInfo; /** * The DisconnectedClassMetadataFactory is used to create ClassMetadataInfo objects * that do not require the entity class actually exist. This allows us to * load some mapping information and use it to do things like generate code * from the mapping information. * * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @link www.doctrine-project.org * @since 2.0 * @author Benjamin Eberlei * @author Guilherme Blanco * @author Jonathan Wage * @author Roman Borschel */ class DisconnectedClassMetadataFactory extends ClassMetadataFactory { /** * @override */ protected function newClassMetadataInstance($className) { $metadata = new ClassMetadataInfo($className); if (strpos($className, "\\") !== false) { $metadata->namespace = strrev(substr( strrev($className), strpos(strrev($className), "\\")+1 )); } else { $metadata->namespace = ""; } return $metadata; } /** * Validate runtime metadata is correctly defined. * * @param ClassMetadata $class * @param ClassMetadata $parent */ protected function validateRuntimeMetadata($class, $parent) { // validate nothing } /** * @override */ protected function getParentClasses($name) { return array(); } }