public class PersistentDescriptor extends Object implements ClassDescriptor
Modifier and Type | Field and Description |
---|---|
protected Collection<ObjAttribute> |
allDiscriminatorColumns |
protected Map<String,PropertyDescriptor> |
declaredProperties |
protected ObjEntity |
entity |
protected EntityInheritanceTree |
entityInheritanceTree |
protected Expression |
entityQualifier |
protected Collection<AttributeProperty> |
idProperties |
protected Collection<ArcProperty> |
mapArcProperties |
protected Class<?> |
objectClass |
protected Accessor |
persistenceStateAccessor |
protected Map<String,PropertyDescriptor> |
properties |
protected Collection<DbEntity> |
rootDbEntities |
protected Map<String,ClassDescriptor> |
subclassDescriptors |
protected ClassDescriptor |
superclassDescriptor |
Constructor and Description |
---|
PersistentDescriptor()
Creates a PersistentDescriptor.
|
Modifier and Type | Method and Description |
---|---|
void |
addDeclaredProperty(PropertyDescriptor property)
Registers a property.
|
void |
addRootDbEntity(DbEntity dbEntity)
Adds a root DbEntity to the list of roots, filtering duplicates.
|
void |
addSubclassDescriptor(String className,
ClassDescriptor subclassDescriptor)
Adds a subclass descriptor that maps to a given class name.
|
void |
addSuperProperty(PropertyDescriptor property)
Registers a superclass property.
|
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.
|
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)
Recursively looks up property descriptor in this class descriptor and all
superclass descriptors.
|
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.
|
boolean |
hasSubclasses()
Returns whether this class has persistent subclasses.
|
void |
injectValueHolders(Object object)
Invokes 'prepareForAccess' of a super descriptor and then invokes
'prepareForAccess' of each declared property.
|
boolean |
isFault(Object object)
Returns true if an object is not fully resolved.
|
void |
removeDeclaredProperty(String propertyName)
Removes declared property.
|
void |
setDiscriminatorColumns(Collection<ObjAttribute> columns) |
void |
setEntity(ObjEntity entity) |
void |
setEntityInheritanceTree(EntityInheritanceTree entityInheritanceTree) |
void |
setEntityQualifier(Expression entityQualifier) |
void |
setPersistenceStateAccessor(Accessor persistenceStateAccessor) |
void |
setSuperclassDescriptor(ClassDescriptor superclassDescriptor) |
void |
shallowMerge(Object from,
Object to)
Copies object properties from one object to another.
|
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 superclassDescriptor
protected Class<?> objectClass
protected Map<String,PropertyDescriptor> declaredProperties
protected Map<String,PropertyDescriptor> properties
protected Map<String,ClassDescriptor> subclassDescriptors
protected Accessor persistenceStateAccessor
protected ObjEntity entity
protected Collection<DbEntity> rootDbEntities
protected EntityInheritanceTree entityInheritanceTree
protected Collection<AttributeProperty> idProperties
protected Collection<ArcProperty> mapArcProperties
protected Collection<ObjAttribute> allDiscriminatorColumns
protected Expression entityQualifier
public PersistentDescriptor()
public void setDiscriminatorColumns(Collection<ObjAttribute> columns)
public void addSuperProperty(PropertyDescriptor property)
public void addDeclaredProperty(PropertyDescriptor property)
public void addRootDbEntity(DbEntity dbEntity)
public void removeDeclaredProperty(String propertyName)
public void addSubclassDescriptor(String className, ClassDescriptor subclassDescriptor)
public ObjEntity getEntity()
ClassDescriptor
getEntity
in interface ClassDescriptor
public Collection<DbEntity> getRootDbEntities()
ClassDescriptor
getRootDbEntities
in interface ClassDescriptor
public boolean isFault(Object object)
ClassDescriptor
isFault
in interface ClassDescriptor
public Class<?> getObjectClass()
ClassDescriptor
getObjectClass
in interface ClassDescriptor
public ClassDescriptor getSubclassDescriptor(Class<?> objectClass)
ClassDescriptor
this.getObjectClass().isAssignableFrom(objectClass)
getSubclassDescriptor
in interface ClassDescriptor
public Collection<ObjAttribute> getDiscriminatorColumns()
ClassDescriptor
getDiscriminatorColumns
in interface ClassDescriptor
public Collection<AttributeProperty> getIdProperties()
ClassDescriptor
getIdProperties
in interface ClassDescriptor
public Collection<ArcProperty> getMapArcProperties()
ClassDescriptor
arc.getComplimentaryReverseArc() instanceof ToManyMapProperty
getMapArcProperties
in interface ClassDescriptor
public PropertyDescriptor getProperty(String propertyName)
getProperty
in interface ClassDescriptor
public PropertyDescriptor getDeclaredProperty(String propertyName)
ClassDescriptor
AttributeProperty
,
ToManyProperty
, ToOneProperty
.getDeclaredProperty
in interface ClassDescriptor
public ClassDescriptor getSuperclassDescriptor()
getSuperclassDescriptor
in interface ClassDescriptor
public Object createObject()
createObject
in interface ClassDescriptor
public void injectValueHolders(Object object) throws PropertyException
injectValueHolders
in interface ClassDescriptor
PropertyException
public void shallowMerge(Object from, Object to) throws PropertyException
shallowMerge
in interface ClassDescriptor
PropertyException
public boolean visitDeclaredProperties(PropertyVisitor visitor)
ClassDescriptor
visitDeclaredProperties
in interface ClassDescriptor
public boolean visitAllProperties(PropertyVisitor visitor)
ClassDescriptor
visitAllProperties
in interface ClassDescriptor
public boolean visitProperties(PropertyVisitor visitor)
ClassDescriptor
visitProperties
in interface ClassDescriptor
public void setPersistenceStateAccessor(Accessor persistenceStateAccessor)
public void setEntity(ObjEntity entity)
public void setSuperclassDescriptor(ClassDescriptor superclassDescriptor)
public Expression getEntityQualifier()
ClassDescriptor
getEntityQualifier
in interface ClassDescriptor
public void setEntityQualifier(Expression entityQualifier)
public EntityInheritanceTree getEntityInheritanceTree()
getEntityInheritanceTree
in interface ClassDescriptor
public void setEntityInheritanceTree(EntityInheritanceTree entityInheritanceTree)
public boolean hasSubclasses()
ClassDescriptor
hasSubclasses
in interface ClassDescriptor
Copyright © 2001–2018 Apache Cayenne. All rights reserved.