PHP Class Doctrine\OXM\Mapping\ClassMetadataInfo

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

Public Properties

Property Type Description
$changeTrackingPolicy integer READ-ONLY: The policy used for change-tracking on entities of this class.
$customRepositoryClassName string (Optional).
$fieldMappings array The mapping definition array supports the following keys: - fieldName (string) The name of the field in the entity this mapping is associated with - id (boolean, optional) Marks this field as the identifier for this class. Used for references - type (string) The type of the field being mapped by this field mapping. Can by any of the allowed Doctrine/OXM/Types or a specific Class name. If used with collection=true, this will assume that each collection object is of the specified type. - xmlName (string, optional) The name of the xml node this class definition will be mapped to. - xmlNode (string) The type of xml object to map this field. Can be one of ('element', 'attribute', or 'text') - required (boolean, optional) Defines if this field is required or not. Checked during marshalling and unmarshalling. - nullable (boolean, optional) Defines if this field is required to be marshalled/unmarshalled if null. - getMethod (string, optional) Defines an optional get method name to use while getting and setting this field on the owning object. - setMethod (string, optional) Defines an optional set method name to use while getting and setting this field on the owning object. - collection (boolean, optional) Define the field as a "collection". This allows for the field to be an array of the above specified type. - direct (boolean, optional, defaults to true) Allow Doctrine OXM to access this field on the class with direct access.
$generatorType integer READ-ONLY: The Id generator type used by the class.
$idGenerator Doctrine\OXM\Id\AbstractIdGenerator READ-ONLY: The ID generator used for generating IDs for this class.
$identifier READ-ONLY: The field name of the class identifier.
$isMappedSuperclass boolean READ-ONLY: Whether this class describes the mapping of a mapped superclass.
$isRoot boolean READ-ONLY: Whether this class describes the mapping xml root element.
$lifecycleCallbacks array READ-ONLY: The registered lifecycle callbacks for entities of this class.
$name string The name of the class
$parentClasses array READ-ONLY: The names of the parent classes (ancestors).
$reflClass ReflectionClass The ReflectionClass instance of the mapped class.
$rootXmlEntityName string READ-ONLY: The name of the entity class that is at the root of the mapped entity inheritance hierarchy. If the entity is not part of a mapped inheritance hierarchy this is the same as {@link $entityName}.
$xmlFieldMap array Mapping xml node names back to class fields keys are xml names
$xmlName string The xml node name to map this class to
$xmlNamespaces array The mapping definition array supports the following keys - url (required) The url containing this namespace definition. Only one URL can be present within the class which does not have a prefix. One can have any number of prefixed URL's. - prefix (optional) The prefix used by this namespace. Prefixes must be unique.

Public Methods

Method Description
__construct ( string $entityName ) Initializes a new ClassMetadata instance that will hold the object-xml mapping metadata of the class with the given name.
addInheritedFieldMapping ( array $fieldMapping ) INTERNAL: Adds a field mapping without completing/validating it.
addLifecycleCallback ( string $callback, string $event ) Adds a lifecycle callback for entities of this class.
getAssociationNames ( ) : array A numerically indexed list of association names of this persistent class.
getAssociationTargetClass ( string $assocName ) : string Returns the target class name of the given association.
getFieldMapping ( string $fieldName ) : array Gets the mapping of a (regular) field that holds some data but not a reference to another object.
getFieldMappings ( ) : array Returns an array of all field mappings
getFieldName ( string $xmlName ) : string Gets the field name for a xml name.
getFieldNames ( ) : array A numerically indexed list of field names of this persistent class.
getFieldXmlName ( $fieldName )
getFieldXmlNode ( $fieldName ) : string Gets the type of an xml name.
getIdentifier ( ) : string Gets the mapped identifier field of this class.
getName ( ) : string The name of this XmlEntity class.
getParentClasses ( ) : array
getReflectionClass ( ) : ReflectionClass Gets the ReflectionClass instance of the mapped class.
getTypeOfField ( string $fieldName ) : string Gets the type of a field.
getXmlName ( ) : string Gets the xml node name used to map this class to an xml node
getXmlNamespaces ( ) : array
getXmlNodeTypes ( ) : array Returns all bind xml node types
hasAssociation ( string $fieldName ) : boolean Checks whether the class has a mapped association (embed or reference) with the given field name.
hasField ( $fieldName ) : boolean Checks whether the class has a (mapped) field with a certain name.
hasFieldWrapping ( $fieldName ) : boolean
hasLifecycleCallbacks ( string $lifecycleEvent ) : boolean Whether the class has any attached lifecycle listeners or callbacks for a lifecycle event.
hasReference ( string $fieldName ) : boolean Checks whether the class has a mapped association with the given field name.
hasXmlField ( $xmlName ) : boolean
invokeLifecycleCallbacks ( $lifecycleEvent, XmlEntity $entity, array $arguments = null ) Dispatches the lifecycle event of the given entity to the registered lifecycle callbacks and lifecycle listeners.
isChangeTrackingDeferredExplicit ( ) : boolean Whether the change tracking policy of this class is "deferred explicit".
isChangeTrackingDeferredImplicit ( ) : boolean Whether the change tracking policy of this class is "deferred implicit".
isChangeTrackingNotify ( ) : boolean Whether the change tracking policy of this class is "notify".
isCollection ( $fieldName ) : boolean
isCollectionValuedAssociation ( string $fieldName ) : boolean Checks whether the class has a mapped reference or embed for the specified field and is a single valued association.
isDirect ( $fieldName ) : boolean
isIdGeneratorAuto ( ) : boolean Checks whether the class will generate a new \XmlId instance for us.
isIdGeneratorIncrement ( ) : boolean Checks whether the class will use a collection to generate incremented identifiers.
isIdGeneratorNone ( ) : boolean Checks whether the class uses no id generator.
isIdGeneratorUuid ( ) : boolean Checks whether the class will generate a uuid id.
isIdentifier ( string $fieldName ) : boolean Checks whether a field is part of the identifier/primary key field(s).
isInheritedField ( $fieldName ) : boolean Checks whether a mapped field is inherited from an entity superclass.
isNullable ( string $fieldName ) : boolean
isRequired ( $fieldName ) : boolean
isSingleValuedAssociation ( string $fieldName ) : boolean Checks whether the class has a mapped reference or embed for the specified field and is a single valued association.
mapField ( array $mapping ) : void
setChangeTrackingPolicy ( integer $policy ) Sets the change tracking policy used by this class.
setCustomRepositoryClass ( $repositoryClassName ) Registers a custom repository class for the document class.
setIdGenerator ( AbstractIdGenerator $generator ) Sets the ID generator used to generate IDs for instances of this class.
setIdGeneratorType ( $generatorType ) Sets the type of Id generator to use for the mapped class.
setIdentifier ( string $identifier ) INTERNAL: Sets the mapped identifier field of this class.
setLifecycleCallbacks ( array $callbacks ) Sets the lifecycle callbacks for entities of this class.
setName ( string $entityName )
setParentClasses ( array $classNames ) Sets the parent class names.
setXmlName ( $xmlName ) : string Set the xml node name to be used by this class mapping
setXmlNamespaces ( array $xmlNamespaces ) : void

Protected Methods

Method Description
inferGetter ( string $fieldName ) : string
inferSetter ( string $fieldName ) : string

Method Details

__construct() public method

Initializes a new ClassMetadata instance that will hold the object-xml mapping metadata of the class with the given name.
public __construct ( string $entityName )
$entityName string The name of the entity class the new instance is used for.

addInheritedFieldMapping() public method

This is mainly used to add inherited field mappings to derived classes.
public addInheritedFieldMapping ( array $fieldMapping )
$fieldMapping array

addLifecycleCallback() public method

Note: If the same callback is registered more than once, the old one will be overridden.
public addLifecycleCallback ( string $callback, string $event )
$callback string
$event string

getAssociationNames() public method

This array includes identifier associations if present on this class.
public getAssociationNames ( ) : array
return array

getAssociationTargetClass() public method

Returns the target class name of the given association.
public getAssociationTargetClass ( string $assocName ) : string
$assocName string
return string

getFieldMapping() public method

Gets the mapping of a (regular) field that holds some data but not a reference to another object.
public getFieldMapping ( string $fieldName ) : array
$fieldName string The field name.
return array The field mapping.

getFieldMappings() public method

Returns an array of all field mappings
public getFieldMappings ( ) : array
return array

getFieldName() public method

If no field name can be found the xml name is returned.
public getFieldName ( string $xmlName ) : string
$xmlName string xml name
return string field name

getFieldNames() public method

This array includes identifier fields if present on this class.
public getFieldNames ( ) : array
return array

getFieldXmlName() public method

public getFieldXmlName ( $fieldName )

getFieldXmlNode() public method

Gets the type of an xml name.
public getFieldXmlNode ( $fieldName ) : string
return string one of ("node", "attribute", "text")

getIdentifier() public method

Gets the mapped identifier field of this class.
public getIdentifier ( ) : string
return string $identifier

getName() public method

The name of this XmlEntity class.
public getName ( ) : string
return string $name The XmlEntity class name.

getParentClasses() public method

public getParentClasses ( ) : array
return array

getReflectionClass() public method

Gets the ReflectionClass instance of the mapped class.
public getReflectionClass ( ) : ReflectionClass
return ReflectionClass

getTypeOfField() public method

Gets the type of a field.
public getTypeOfField ( string $fieldName ) : string
$fieldName string
return string

getXmlName() public method

Gets the xml node name used to map this class to an xml node
public getXmlName ( ) : string
return string

getXmlNamespaces() public method

public getXmlNamespaces ( ) : array
return array

getXmlNodeTypes() public static method

Returns all bind xml node types
public static getXmlNodeTypes ( ) : array
return array

hasAssociation() public method

Checks whether the class has a mapped association (embed or reference) with the given field name.
public hasAssociation ( string $fieldName ) : boolean
$fieldName string
return boolean

hasField() public method

Checks whether the class has a (mapped) field with a certain name.
public hasField ( $fieldName ) : boolean
return boolean

hasFieldWrapping() public method

public hasFieldWrapping ( $fieldName ) : boolean
return boolean

hasLifecycleCallbacks() public method

Whether the class has any attached lifecycle listeners or callbacks for a lifecycle event.
public hasLifecycleCallbacks ( string $lifecycleEvent ) : boolean
$lifecycleEvent string
return boolean

hasReference() public method

Checks whether the class has a mapped association with the given field name.
public hasReference ( string $fieldName ) : boolean
$fieldName string
return boolean

hasXmlField() public method

public hasXmlField ( $xmlName ) : boolean
return boolean

inferGetter() protected method

protected inferGetter ( string $fieldName ) : string
$fieldName string
return string

inferSetter() protected method

protected inferSetter ( string $fieldName ) : string
$fieldName string
return string

invokeLifecycleCallbacks() public method

Dispatches the lifecycle event of the given entity to the registered lifecycle callbacks and lifecycle listeners.
public invokeLifecycleCallbacks ( $lifecycleEvent, XmlEntity $entity, array $arguments = null )
$entity XmlEntity The XmlEntity on which the event occured.
$arguments array

isChangeTrackingDeferredExplicit() public method

Whether the change tracking policy of this class is "deferred explicit".

isChangeTrackingDeferredImplicit() public method

Whether the change tracking policy of this class is "deferred implicit".

isChangeTrackingNotify() public method

Whether the change tracking policy of this class is "notify".
public isChangeTrackingNotify ( ) : boolean
return boolean

isCollection() public method

public isCollection ( $fieldName ) : boolean
return boolean

isCollectionValuedAssociation() public method

Checks whether the class has a mapped reference or embed for the specified field and is a single valued association.
public isCollectionValuedAssociation ( string $fieldName ) : boolean
$fieldName string
return boolean TRUE if the association exists and is single-valued, FALSE otherwise.

isDirect() public method

public isDirect ( $fieldName ) : boolean
return boolean

isIdGeneratorAuto() public method

Checks whether the class will generate a new \XmlId instance for us.
public isIdGeneratorAuto ( ) : boolean
return boolean TRUE if the class uses the AUTO generator, FALSE otherwise.

isIdGeneratorIncrement() public method

Checks whether the class will use a collection to generate incremented identifiers.
public isIdGeneratorIncrement ( ) : boolean
return boolean TRUE if the class uses the INCREMENT generator, FALSE otherwise.

isIdGeneratorNone() public method

Checks whether the class uses no id generator.
public isIdGeneratorNone ( ) : boolean
return boolean TRUE if the class does not use any id generator, FALSE otherwise.

isIdGeneratorUuid() public method

Checks whether the class will generate a uuid id.
public isIdGeneratorUuid ( ) : boolean
return boolean TRUE if the class uses the UUID generator, FALSE otherwise.

isIdentifier() public method

Checks whether a field is part of the identifier/primary key field(s).
public isIdentifier ( string $fieldName ) : boolean
$fieldName string The field name
return boolean TRUE if the field is part of the table identifier/primary key field(s), FALSE otherwise.

isInheritedField() public method

Checks whether a mapped field is inherited from an entity superclass.
public isInheritedField ( $fieldName ) : boolean
return boolean TRUE if the field is inherited, FALSE otherwise.

isNullable() public method

public isNullable ( string $fieldName ) : boolean
$fieldName string
return boolean

isRequired() public method

public isRequired ( $fieldName ) : boolean
return boolean

isSingleValuedAssociation() public method

Checks whether the class has a mapped reference or embed for the specified field and is a single valued association.
public isSingleValuedAssociation ( string $fieldName ) : boolean
$fieldName string
return boolean TRUE if the association exists and is single-valued, FALSE otherwise.

mapField() public method

public mapField ( array $mapping ) : void
$mapping array
return void

setChangeTrackingPolicy() public method

Sets the change tracking policy used by this class.
public setChangeTrackingPolicy ( integer $policy )
$policy integer

setCustomRepositoryClass() public method

Registers a custom repository class for the document class.
public setCustomRepositoryClass ( $repositoryClassName )

setIdGenerator() public method

Sets the ID generator used to generate IDs for instances of this class.
public setIdGenerator ( AbstractIdGenerator $generator )
$generator AbstractIdGenerator

setIdGeneratorType() public method

Sets the type of Id generator to use for the mapped class.
public setIdGeneratorType ( $generatorType )

setIdentifier() public method

INTERNAL: Sets the mapped identifier field of this class.
public setIdentifier ( string $identifier )
$identifier string

setLifecycleCallbacks() public method

Any previously registered callbacks are overwritten.
public setLifecycleCallbacks ( array $callbacks )
$callbacks array

setName() public method

public setName ( string $entityName )
$entityName string

setParentClasses() public method

Assumes that the class names in the passed array are in the order: directParent -> directParentParent -> directParentParentParent ... -> root.
public setParentClasses ( array $classNames )
$classNames array

setXmlName() public method

Set the xml node name to be used by this class mapping
public setXmlName ( $xmlName ) : string
return string

setXmlNamespaces() public method

public setXmlNamespaces ( array $xmlNamespaces ) : void
$xmlNamespaces array
return void

Property Details

$changeTrackingPolicy public_oe property

READ-ONLY: The policy used for change-tracking on entities of this class.
public int $changeTrackingPolicy
return integer

$customRepositoryClassName public_oe property

(Optional).
public string $customRepositoryClassName
return string

$fieldMappings public_oe property

The mapping definition array supports the following keys: - fieldName (string) The name of the field in the entity this mapping is associated with - id (boolean, optional) Marks this field as the identifier for this class. Used for references - type (string) The type of the field being mapped by this field mapping. Can by any of the allowed Doctrine/OXM/Types or a specific Class name. If used with collection=true, this will assume that each collection object is of the specified type. - xmlName (string, optional) The name of the xml node this class definition will be mapped to. - xmlNode (string) The type of xml object to map this field. Can be one of ('element', 'attribute', or 'text') - required (boolean, optional) Defines if this field is required or not. Checked during marshalling and unmarshalling. - nullable (boolean, optional) Defines if this field is required to be marshalled/unmarshalled if null. - getMethod (string, optional) Defines an optional get method name to use while getting and setting this field on the owning object. - setMethod (string, optional) Defines an optional set method name to use while getting and setting this field on the owning object. - collection (boolean, optional) Define the field as a "collection". This allows for the field to be an array of the above specified type. - direct (boolean, optional, defaults to true) Allow Doctrine OXM to access this field on the class with direct access.
public array $fieldMappings
return array

$generatorType public_oe property

READ-ONLY: The Id generator type used by the class.
public int $generatorType
return integer

$idGenerator public_oe property

READ-ONLY: The ID generator used for generating IDs for this class.
public AbstractIdGenerator,Doctrine\OXM\Id $idGenerator
return Doctrine\OXM\Id\AbstractIdGenerator

$identifier public_oe property

READ-ONLY: The field name of the class identifier.
public $identifier

$isMappedSuperclass public_oe property

READ-ONLY: Whether this class describes the mapping of a mapped superclass.
public bool $isMappedSuperclass
return boolean

$isRoot public_oe property

READ-ONLY: Whether this class describes the mapping xml root element.
public bool $isRoot
return boolean

$lifecycleCallbacks public_oe property

READ-ONLY: The registered lifecycle callbacks for entities of this class.
public array $lifecycleCallbacks
return array

$name public_oe property

The name of the class
public string $name
return string

$parentClasses public_oe property

READ-ONLY: The names of the parent classes (ancestors).
public array $parentClasses
return array

$reflClass public_oe property

The ReflectionClass instance of the mapped class.
public ReflectionClass $reflClass
return ReflectionClass

$rootXmlEntityName public_oe property

READ-ONLY: The name of the entity class that is at the root of the mapped entity inheritance hierarchy. If the entity is not part of a mapped inheritance hierarchy this is the same as {@link $entityName}.
public string $rootXmlEntityName
return string

$xmlFieldMap public_oe property

Mapping xml node names back to class fields keys are xml names
public array $xmlFieldMap
return array

$xmlName public_oe property

The xml node name to map this class to
public string $xmlName
return string

$xmlNamespaces public_oe property

The mapping definition array supports the following keys - url (required) The url containing this namespace definition. Only one URL can be present within the class which does not have a prefix. One can have any number of prefixed URL's. - prefix (optional) The prefix used by this namespace. Prefixes must be unique.
public array $xmlNamespaces
return array