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 boolean
lazy
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
All Methods Instance Methods Concrete Methods 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
isLazy()
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
setLazy(boolean lazy)
Sets whether this attribute should be loaded lazily.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
-
-
-
Constructor Detail
-
ObjAttribute
public ObjAttribute()
-
ObjAttribute
public ObjAttribute(String name)
-
ObjAttribute
public ObjAttribute(ObjAttribute attribute)
Creates a clone of an ObjAttribute argument.- Since:
- 3.0
-
-
Method Detail
-
getEntity
public ObjEntity getEntity()
Description copied from class:Attribute
Returns parent entity that holds this attribute.
-
acceptVisitor
public <T> T acceptVisitor(ConfigurationNodeVisitor<T> visitor)
- Specified by:
acceptVisitor
in interfaceConfigurationNode
- Since:
- 3.1
-
getJavaClass
public Class<?> getJavaClass()
Returns Java class of an object property described by this attribute. Wraps any thrown exceptions into CayenneRuntimeException.
-
encodeAsXML
public void encodeAsXML(XMLEncoder encoder, ConfigurationNodeVisitor delegate)
Prints itself as XML to the provided XMLEncoder.- Specified by:
encodeAsXML
in interfaceXMLSerializable
- Specified by:
encodeAsXML
in classAttribute
- Since:
- 1.1
-
getType
public String getType()
Returns fully qualified Java class name of the object property represented by this attribute.
-
setType
public void setType(String type)
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
-
isLazy
public boolean isLazy()
- Returns:
- whether this attribute should be loaded lazily.
- Since:
- 4.2
-
setLazy
public void setLazy(boolean lazy)
Sets whether this attribute should be loaded lazily.- Since:
- 4.2
-
getDbAttribute
public DbAttribute getDbAttribute()
Returns a DbAttribute mapped by this ObjAttribute.
-
isInherited
public boolean isInherited()
Returnstrue
if attribute inherited from a super entity.- Since:
- 3.0
-
getDbPathIterator
public Iterator<CayenneMapEntry> getDbPathIterator()
-
getDbPathIterator
public Iterator<CayenneMapEntry> getDbPathIterator(ObjEntity entity)
-
getDbAttributeName
public String 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
public void setDbAttributePath(String dbAttributePath)
-
getDbAttributePath
public 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.
-
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
public ObjAttribute 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
-
-