Package org.apache.cayenne.map
Class ObjAttribute
java.lang.Object
org.apache.cayenne.map.Attribute
org.apache.cayenne.map.ObjAttribute
- All Implemented Interfaces:
Serializable
,ConfigurationNode
,CayenneMapEntry
,XMLSerializable
- Direct Known Subclasses:
EmbeddedAttribute
public class ObjAttribute extends Attribute implements ConfigurationNode
An ObjAttribute is a mapping descriptor of a Java class property.
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description protected String
dbAttributePath
protected String
type
protected boolean
usedForLocking
-
Constructor Summary
Constructors Constructor Description ObjAttribute()
ObjAttribute(String name)
ObjAttribute(String name, String type, ObjEntity entity)
ObjAttribute(ObjAttribute attribute)
Creates a clone of an ObjAttribute argument. -
Method Summary
Modifier and Type Method Description <T> T
acceptVisitor(ConfigurationNodeVisitor<T> visitor)
void
encodeAsXML(XMLEncoder encoder, ConfigurationNodeVisitor delegate)
Prints itself as XML to the provided XMLEncoder.ObjAttribute
getClientAttribute()
Returns an ObjAttribute stripped of any server-side information, such as DbAttribute mapping.DbAttribute
getDbAttribute()
Returns a DbAttribute mapped by this ObjAttribute.String
getDbAttributeName()
Returns the the name of the mapped DbAttribute.String
getDbAttributePath()
Returns a dot-separated path that starts in the root DbEntity that maps to this attribute's ObjEntity and spans zero or more relationships, always ending in a DbAttribute name.Iterator<CayenneMapEntry>
getDbPathIterator()
Iterator<CayenneMapEntry>
getDbPathIterator(ObjEntity entity)
ObjEntity
getEntity()
Returns parent entity that holds this attribute.Class<?>
getJavaClass()
Returns Java class of an object property described by this attribute.int
getMaxLength()
Returns this attribute's maximum allowed lengthString
getType()
Returns fully qualified Java class name of the object property represented by this attribute.boolean
isFlattened()
Returns whether this attribute is "flattened", meaning that it points to a column from an entity other than the DbEntity mapped to the parent ObjEntity.boolean
isInherited()
Returnstrue
if attribute inherited from a super entity.boolean
isMandatory()
Returns whether this attribute is mandatoryboolean
isPrimaryKey()
boolean
isUsedForLocking()
Returns whether this attribute should be used for locking.void
setDbAttributePath(String dbAttributePath)
void
setType(String type)
Sets the type of the data object property.void
setUsedForLocking(boolean usedForLocking)
Sets whether this attribute should be used for locking.String
toString()
void
updateDbAttributePath()
Updates DbAttributePath for this ObjAttribute
-
Field Details
-
type
-
usedForLocking
protected boolean usedForLocking -
dbAttributePath
-
-
Constructor Details
-
ObjAttribute
public ObjAttribute() -
ObjAttribute
-
ObjAttribute
-
ObjAttribute
Creates a clone of an ObjAttribute argument.- Since:
- 3.0
-
-
Method Details
-
getEntity
Description copied from class:Attribute
Returns parent entity that holds this attribute. -
acceptVisitor
- Specified by:
acceptVisitor
in interfaceConfigurationNode
- Since:
- 3.1
-
getJavaClass
Returns Java class of an object property described by this attribute. Wraps any thrown exceptions into CayenneRuntimeException. -
encodeAsXML
Prints itself as XML to the provided XMLEncoder.- Specified by:
encodeAsXML
in interfaceXMLSerializable
- Specified by:
encodeAsXML
in classAttribute
- Since:
- 1.1
-
getType
Returns fully qualified Java class name of the object property represented by this attribute. -
setType
Sets the type of the data object property. Type is expected to be a fully qualified Java class name. -
isPrimaryKey
public boolean isPrimaryKey()- Since:
- 3.0
-
isUsedForLocking
public boolean isUsedForLocking()Returns whether this attribute should be used for locking.- Since:
- 1.1
-
setUsedForLocking
public void setUsedForLocking(boolean usedForLocking)Sets whether this attribute should be used for locking.- Since:
- 1.1
-
getDbAttribute
Returns a DbAttribute mapped by this ObjAttribute. -
isInherited
public boolean isInherited()Returnstrue
if attribute inherited from a super entity.- Since:
- 3.0
-
getDbPathIterator
-
getDbPathIterator
-
getDbAttributeName
Returns the the name of the mapped DbAttribute. This value is the same as "dbAttributePath" for regular attributes mapped to columns. It is equql to the last path component for the flattened attributes. -
setDbAttributePath
-
getDbAttributePath
Returns a dot-separated path that starts in the root DbEntity that maps to this attribute's ObjEntity and spans zero or more relationships, always ending in a DbAttribute name. -
isFlattened
public boolean isFlattened()Returns whether this attribute is "flattened", meaning that it points to a column from an entity other than the DbEntity mapped to the parent ObjEntity.- Since:
- 3.0
-
isMandatory
public boolean isMandatory()Returns whether this attribute is mandatory- See Also:
DbAttribute.isMandatory()
-
getMaxLength
public int getMaxLength()Returns this attribute's maximum allowed length- See Also:
DbAttribute.getMaxLength()
-
getClientAttribute
Returns an ObjAttribute stripped of any server-side information, such as DbAttribute mapping.- Since:
- 1.2
-
updateDbAttributePath
public void updateDbAttributePath()Updates DbAttributePath for this ObjAttribute -
toString
-