PHP Class Doctrine\OXM\Mapping\ClassMetadataFactory

Since: 2.0
Author: Richard Fullmer ([email protected])
Inheritance: implements Doctrine\Common\Persistence\Mapping\ClassMetadataFactory
Show file Open project: doctrine/oxm Class Usage Examples

Public Methods

Method Description
__construct ( Configuration $configuration, Doctrine\Common\EventManager $evm = null ) : null
getAllMetadata ( ) : array Forces the factory to load the metadata of all classes known to the underlying mapping driver.
getAllXmlNodes ( ) : array Preloads all metadata and returns an array of all known mapped node types
getCacheDriver ( ) : Doctrine\Common\Cache\Cache Gets the cache driver used by the factory to cache ClassMetadata instances.
getLoadedMetadata ( ) : array
getMetadataFor ( string $className ) : ClassMetadata Gets the class metadata descriptor for a class.
hasMetadataFor ( string $className ) : boolean Checks whether the factory has the metadata for a class loaded already.
setCacheDriver ( Doctrine\Common\Cache\Cache $cacheDriver ) Sets the cache driver used by the factory to cache Mapping instances.
setMetadataFor ( string $className, ClassMapping $class ) Sets the metadata descriptor for a specific class.

Protected Methods

Method Description
getParentClasses ( string $name ) : array Get array of parent classes for the given entity class
loadMetadata ( string $name ) Loads the metadata of the class in question and all it's ancestors whose metadata is still not loaded.
newClassMetadataInstance ( string $className ) : ClassMetadata Creates a new Mapping instance for the given class name.

Private Methods

Method Description
addInheritedFields ( ClassMetadata $subClass, ClassMetadata $parentClass ) Adds inherited fields to the subclass mapping.
completeIdGeneratorMapping ( ClassMetadataInfo $class ) Completes the ID generator mapping. If "auto" is specified we choose the generator most appropriate.
completeMappingTypeValidation ( string $className, ClassMetadataInfo $class ) Complete and validate type mappings
initialize ( ) Lazy initialization of this stuff, especially the metadata driver, since these are not needed at all when a metadata cache is active.

Method Details

__construct() public method

public __construct ( Configuration $configuration, Doctrine\Common\EventManager $evm = null ) : null
$configuration Doctrine\OXM\Configuration
$evm Doctrine\Common\EventManager
return null

getAllMetadata() public method

Forces the factory to load the metadata of all classes known to the underlying mapping driver.
public getAllMetadata ( ) : array
return array The ClassMetadata instances of all mapped classes.

getAllXmlNodes() public method

Preloads all metadata and returns an array of all known mapped node types
public getAllXmlNodes ( ) : array
return array

getCacheDriver() public method

Gets the cache driver used by the factory to cache ClassMetadata instances.
public getCacheDriver ( ) : Doctrine\Common\Cache\Cache
return Doctrine\Common\Cache\Cache

getLoadedMetadata() public method

public getLoadedMetadata ( ) : array
return array

getMetadataFor() public method

Gets the class metadata descriptor for a class.
public getMetadataFor ( string $className ) : ClassMetadata
$className string The name of the class.
return ClassMetadata

getParentClasses() protected method

Get array of parent classes for the given entity class
protected getParentClasses ( string $name ) : array
$name string
return array $parentClasses

hasMetadataFor() public method

Checks whether the factory has the metadata for a class loaded already.
public hasMetadataFor ( string $className ) : boolean
$className string
return boolean TRUE if the metadata of the class in question is already loaded, FALSE otherwise.

loadMetadata() protected method

Loads the metadata of the class in question and all it's ancestors whose metadata is still not loaded.
protected loadMetadata ( string $name )
$name string The name of the class for which the metadata should get loaded.

newClassMetadataInstance() protected method

Creates a new Mapping instance for the given class name.
protected newClassMetadataInstance ( string $className ) : ClassMetadata
$className string
return ClassMetadata

setCacheDriver() public method

Sets the cache driver used by the factory to cache Mapping instances.
public setCacheDriver ( Doctrine\Common\Cache\Cache $cacheDriver )
$cacheDriver Doctrine\Common\Cache\Cache

setMetadataFor() public method

NOTE: This is only useful in very special cases, like when generating proxy classes.
public setMetadataFor ( string $className, ClassMapping $class )
$className string
$class ClassMapping