public class LazyClassDescriptorDecorator extends Object implements ClassDescriptor
| Modifier and Type | Field and Description |
|---|---|
protected ClassDescriptor |
descriptor |
protected ClassDescriptorMap |
descriptorMap |
protected String |
entityName |
| Constructor and Description |
|---|
LazyClassDescriptorDecorator(ClassDescriptorMap descriptorMap,
String entityName) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkDescriptorInitialized()
Checks whether decorated descriptor is initialized, and if not, creates it using
parent
ClassDescriptorMap. |
Object |
createObject()
Creates a new instance of a class described by this object.
|
PropertyDescriptor |
getDeclaredProperty(String propertyName)
Returns a Java Bean property descriptor matching property name or null if no such
property is found.
|
ClassDescriptor |
getDescriptor()
Returns underlying descriptor used to delegate all processing, resolving it if
needed.
|
Collection<ObjAttribute> |
getDiscriminatorColumns()
Returns a collection of ObjAttribute for the described class, its superclasses and
subclasses, that participate in inheritance qualifier.
|
ObjEntity |
getEntity()
Returns an ObjEntity associated with this descriptor.
|
EntityInheritanceTree |
getEntityInheritanceTree() |
Expression |
getEntityQualifier()
Returns entity qualifier as a Cayenne expression that includes qualifiers for this
entity and all subentities.
|
Collection<AttributeProperty> |
getIdProperties()
Returns a collection of the properties mapped to id columns.
|
Collection<ArcProperty> |
getMapArcProperties()
Returns a collection over the arc properties whose reverse arcs are to-many maps.
|
Class<?> |
getObjectClass()
Returns a class mapped by this descriptor.
|
PropertyDescriptor |
getProperty(String propertyName)
Returns a property descriptor matching property name, or null if no such property
is found.
|
Collection<DbEntity> |
getRootDbEntities()
Returns a collection of DbEntities that are the root tables for this descriptor's
ObjEntity.
|
ClassDescriptor |
getSubclassDescriptor(Class<?> objectClass)
Returns the most "specialized" descriptor for a given class.
|
ClassDescriptor |
getSuperclassDescriptor()
Returns a descriptor of the mapped superclass or null if the descriptor's entity
sits at the top of inheritance hierarchy or no inheritance is mapped.
|
boolean |
hasSubclasses()
Returns whether this class has persistent subclasses.
|
void |
injectValueHolders(Object object)
Prepares object properties for access.
|
boolean |
isFault(Object object)
Returns true if an object is not fully resolved.
|
void |
shallowMerge(Object from,
Object to)
Merges object properties from one object to another, avoiding traversal of the
ArcProperties.
|
String |
toString() |
boolean |
visitAllProperties(PropertyVisitor visitor)
Passes the visitor to the properties "visit" method for a combination of all
properties, including properties declared in this descriptor, its super
descriptors, and all subdescriptors.
|
boolean |
visitDeclaredProperties(PropertyVisitor visitor)
Passes the visitor to the properties "visit" method for all properties declared in
this descriptor.
|
boolean |
visitProperties(PropertyVisitor visitor)
Passes the visitor to the properties "visit" method for all properties declared in
this descriptor and all its super-decsriptors.
|
protected ClassDescriptor descriptor
protected ClassDescriptorMap descriptorMap
protected String entityName
public LazyClassDescriptorDecorator(ClassDescriptorMap descriptorMap, String entityName)
protected void checkDescriptorInitialized()
ClassDescriptorMap.public ClassDescriptor getDescriptor()
public Object createObject()
ClassDescriptorcreateObject in interface ClassDescriptorpublic PropertyDescriptor getDeclaredProperty(String propertyName)
ClassDescriptorAttributeProperty,
ToManyProperty, ToOneProperty.getDeclaredProperty in interface ClassDescriptorpublic ObjEntity getEntity()
ClassDescriptorgetEntity in interface ClassDescriptorpublic Collection<DbEntity> getRootDbEntities()
ClassDescriptorgetRootDbEntities in interface ClassDescriptorpublic EntityInheritanceTree getEntityInheritanceTree()
getEntityInheritanceTree in interface ClassDescriptorpublic boolean hasSubclasses()
ClassDescriptorhasSubclasses in interface ClassDescriptorpublic Class<?> getObjectClass()
ClassDescriptorgetObjectClass in interface ClassDescriptorpublic Collection<AttributeProperty> getIdProperties()
ClassDescriptorgetIdProperties in interface ClassDescriptorpublic Collection<ObjAttribute> getDiscriminatorColumns()
ClassDescriptorgetDiscriminatorColumns in interface ClassDescriptorpublic Expression getEntityQualifier()
ClassDescriptorgetEntityQualifier in interface ClassDescriptorpublic Collection<ArcProperty> getMapArcProperties()
ClassDescriptorarc.getComplimentaryReverseArc() instanceof ToManyMapProperty
getMapArcProperties in interface ClassDescriptorpublic PropertyDescriptor getProperty(String propertyName)
ClassDescriptorAttributeProperty,
ToManyProperty, ToOneProperty.getProperty in interface ClassDescriptorpublic ClassDescriptor getSubclassDescriptor(Class<?> objectClass)
ClassDescriptorthis.getObjectClass().isAssignableFrom(objectClass)
getSubclassDescriptor in interface ClassDescriptorpublic ClassDescriptor getSuperclassDescriptor()
ClassDescriptorgetSuperclassDescriptor in interface ClassDescriptorpublic void injectValueHolders(Object object) throws PropertyException
ClassDescriptorinjectValueHolders in interface ClassDescriptorPropertyExceptionpublic boolean isFault(Object object)
ClassDescriptorisFault in interface ClassDescriptorpublic void shallowMerge(Object from, Object to) throws PropertyException
ClassDescriptorshallowMerge in interface ClassDescriptorPropertyExceptionpublic boolean visitDeclaredProperties(PropertyVisitor visitor)
ClassDescriptorvisitDeclaredProperties in interface ClassDescriptorpublic boolean visitProperties(PropertyVisitor visitor)
ClassDescriptorvisitProperties in interface ClassDescriptorpublic boolean visitAllProperties(PropertyVisitor visitor)
ClassDescriptorvisitAllProperties in interface ClassDescriptorCopyright © 2001–2023 Apache Cayenne. All rights reserved.