Package org.apache.cayenne.reflect
Interface PropertyDescriptor
-
- All Known Subinterfaces:
ArcProperty
,AttributeProperty
,Property
,ToManyMapProperty
,ToManyProperty
,ToOneProperty
- All Known Implementing Classes:
BaseArcProperty
,BaseProperty
,BaseToManyProperty
,BaseToOneProperty
,SimpleAttributeProperty
public interface PropertyDescriptor
Defines bean property API used by Cayenne to access object data, do faulting and graph maintenance tasks.- Since:
- 4.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default boolean
equals(Object value1, Object value2)
Allows to use special logic to compare values for equality as in rare cases it is not sufficient to use the default equals() method.String
getName()
Returns property name.void
injectValueHolder(Object object)
If a property is implemented as a ValueHolder, this operation would create an unfaulted value holder and inject it into the object, if an object doesn't have it set yet.Object
readProperty(Object object)
Returns a property value, inflating unresolved object if need.Object
readPropertyDirectly(Object object)
Returns a property value of an object without disturbing the object fault status.boolean
visit(PropertyVisitor visitor)
A visitor accept method.void
writeProperty(Object object, Object oldValue, Object newValue)
Sets a property value, inflating unresolved object if need.void
writePropertyDirectly(Object object, Object oldValue, Object newValue)
Sets a property value of an object without disturbing the object fault status.
-
-
-
Method Detail
-
getName
String getName()
Returns property name.
-
readPropertyDirectly
Object readPropertyDirectly(Object object) throws PropertyException
Returns a property value of an object without disturbing the object fault status.- Throws:
PropertyException
-
readProperty
Object readProperty(Object object) throws PropertyException
Returns a property value, inflating unresolved object if need.- Throws:
PropertyException
-
writePropertyDirectly
void writePropertyDirectly(Object object, Object oldValue, Object newValue) throws PropertyException
Sets a property value of an object without disturbing the object fault status. Old value of the property is specified as a hint and can be ignored by the property implementor.- Throws:
PropertyException
-
writeProperty
void writeProperty(Object object, Object oldValue, Object newValue) throws PropertyException
Sets a property value, inflating unresolved object if need. Old value of the property is specified as a hint and can be ignored by the property implementor.- Throws:
PropertyException
-
visit
boolean visit(PropertyVisitor visitor)
A visitor accept method.- Returns:
- a status returned by the corresponding callback method of the visitor. It serves as an indication of whether peer properties processing is still needed.
-
injectValueHolder
void injectValueHolder(Object object) throws PropertyException
If a property is implemented as a ValueHolder, this operation would create an unfaulted value holder and inject it into the object, if an object doesn't have it set yet.- Throws:
PropertyException
-
equals
default boolean equals(Object value1, Object value2)
Allows to use special logic to compare values for equality as in rare cases it is not sufficient to use the default equals() method. Default implementation usesUtil.nullSafeEquals(Object, Object)
method.- Parameters:
value1
- to comparevalue2
- to compare- Returns:
- true if given values are equal
- Since:
- 4.2
-
-