Class PersistentDescriptorFactory
java.lang.Object
org.apache.cayenne.reflect.PersistentDescriptorFactory
- All Implemented Interfaces:
ClassDescriptorFactory
- Direct Known Subclasses:
PersistentObjectDescriptorFactory
A convenience superclass for
ClassDescriptorFactory implementors.- Since:
- 3.0
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected AccessorcreateAccessor(PersistentDescriptor descriptor, String propertyName, Class<?> propertyType) Creates an accessor for the property.protected voidcreateAttributeProperty(PersistentDescriptor descriptor, ObjAttribute attribute) protected PersistentDescriptorprotected AccessorcreateEmbeddableAccessor(EmbeddableDescriptor descriptor, String propertyName, Class<?> propertyType) Creates an accessor for the property of the embeddable class.protected EmbeddableDescriptorcreateEmbeddableDescriptor(EmbeddedAttribute embeddedAttribute) Creates a descriptor of the embedded property.protected voidcreateEmbeddedAttributeProperty(PersistentDescriptor descriptor, EmbeddedAttribute embeddedAttribute, ObjAttribute attribute) protected AccessorcreateMapKeyAccessor(ObjRelationship relationship, ClassDescriptor targetDescriptor) Creates an accessor to read a map key for a given relationship.protected abstract voidcreateToManyCollectionProperty(PersistentDescriptor descriptor, ObjRelationship relationship) protected abstract voidcreateToManyListProperty(PersistentDescriptor descriptor, ObjRelationship relationship) protected abstract voidcreateToManyMapProperty(PersistentDescriptor descriptor, ObjRelationship relationship) protected abstract voidcreateToManySetProperty(PersistentDescriptor descriptor, ObjRelationship relationship) protected abstract voidcreateToOneProperty(PersistentDescriptor descriptor, ObjRelationship relationship) protected ObjAttributediscriminatorAttribute(PersistentDescriptor descriptor, Expression node) Resolves an "obj:" or "db:" path node of an inheritance qualifier to an ObjAttribute of the descriptor's entity, synthesizing one for a DB column that has no ObjAttribute.getDescriptor(String entityName) Returns a ClassDescriptor instance for a given symbolic entity name.protected ClassDescriptorgetDescriptor(ObjEntity entity, Class<?> entityClass) protected voidindexAdditionalDbEntities(PersistentDescriptor descriptor) protected voidindexDiscriminatorValues(PersistentDescriptor descriptor) Compiles the values that the entity's own qualifier pins its attributes to, i.e. the "attribute = value" comparisons in it, possibly joined by "and", forClassDescriptor.injectDiscriminatorValues(Object).protected voidindexQualifiers(PersistentDescriptor descriptor, EntityInheritanceTree inheritanceTree) protected voidindexRootDbEntities(PersistentDescriptor descriptor, EntityInheritanceTree inheritanceTree) protected voidindexSubclassDescriptors(PersistentDescriptor descriptor, EntityInheritanceTree inheritanceTree) protected voidindexSuperclassProperties(PersistentDescriptor descriptor) Adds superclass properties to the descriptor, applying proper overrides.
-
Field Details
-
descriptorMap
-
-
Constructor Details
-
PersistentDescriptorFactory
-
-
Method Details
-
getDescriptor
Description copied from interface:ClassDescriptorFactoryReturns a ClassDescriptor instance for a given symbolic entity name. Returns null if this factory doesn't support this type of entity.- Specified by:
getDescriptorin interfaceClassDescriptorFactory
-
getDescriptor
-
createDescriptor
-
createAttributeProperty
-
createEmbeddedAttributeProperty
protected void createEmbeddedAttributeProperty(PersistentDescriptor descriptor, EmbeddedAttribute embeddedAttribute, ObjAttribute attribute) -
createToOneProperty
protected abstract void createToOneProperty(PersistentDescriptor descriptor, ObjRelationship relationship) -
createToManySetProperty
protected abstract void createToManySetProperty(PersistentDescriptor descriptor, ObjRelationship relationship) -
createToManyMapProperty
protected abstract void createToManyMapProperty(PersistentDescriptor descriptor, ObjRelationship relationship) -
createToManyListProperty
protected abstract void createToManyListProperty(PersistentDescriptor descriptor, ObjRelationship relationship) -
createToManyCollectionProperty
protected abstract void createToManyCollectionProperty(PersistentDescriptor descriptor, ObjRelationship relationship) -
indexSubclassDescriptors
protected void indexSubclassDescriptors(PersistentDescriptor descriptor, EntityInheritanceTree inheritanceTree) -
indexRootDbEntities
protected void indexRootDbEntities(PersistentDescriptor descriptor, EntityInheritanceTree inheritanceTree) -
indexQualifiers
protected void indexQualifiers(PersistentDescriptor descriptor, EntityInheritanceTree inheritanceTree) -
discriminatorAttribute
Resolves an "obj:" or "db:" path node of an inheritance qualifier to an ObjAttribute of the descriptor's entity, synthesizing one for a DB column that has no ObjAttribute. Returns null for any other node. -
indexDiscriminatorValues
Compiles the values that the entity's own qualifier pins its attributes to, i.e. the "attribute = value" comparisons in it, possibly joined by "and", forClassDescriptor.injectDiscriminatorValues(Object). Values are converted to the attribute Java type here, once. -
indexSuperclassProperties
Adds superclass properties to the descriptor, applying proper overrides. -
indexAdditionalDbEntities
-
createAccessor
protected Accessor createAccessor(PersistentDescriptor descriptor, String propertyName, Class<?> propertyType) throws PropertyException Creates an accessor for the property.- Throws:
PropertyException
-
createMapKeyAccessor
protected Accessor createMapKeyAccessor(ObjRelationship relationship, ClassDescriptor targetDescriptor) Creates an accessor to read a map key for a given relationship. -
createEmbeddableAccessor
protected Accessor createEmbeddableAccessor(EmbeddableDescriptor descriptor, String propertyName, Class<?> propertyType) Creates an accessor for the property of the embeddable class. -
createEmbeddableDescriptor
Creates a descriptor of the embedded property.
-