org.apache.cayenne.map
Class ObjAttribute

java.lang.Object
  extended by org.apache.cayenne.map.Attribute
      extended by org.apache.cayenne.map.ObjAttribute
All Implemented Interfaces:
java.io.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
protected  java.lang.String dbAttributePath
           
protected  java.lang.String type
           
protected  boolean usedForLocking
           
 
Fields inherited from class org.apache.cayenne.map.Attribute
entity, name
 
Constructor Summary
ObjAttribute()
           
ObjAttribute(ObjAttribute attribute)
          Creates a clone of an ObjAttribute argument.
ObjAttribute(java.lang.String name)
           
ObjAttribute(java.lang.String name, java.lang.String type, ObjEntity entity)
           
 
Method Summary
<T> T
acceptVisitor(ConfigurationNodeVisitor<T> visitor)
           
 void encodeAsXML(XMLEncoder encoder)
          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.
 java.lang.String getDbAttributeName()
          Returns the the name of the mapped DbAttribute.
 java.lang.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.
 java.util.Iterator<CayenneMapEntry> getDbPathIterator()
           
 java.util.Iterator<CayenneMapEntry> getDbPathIterator(ObjEntity entity)
           
 java.lang.Class<?> getJavaClass()
          Returns Java class of an object property described by this attribute.
 int getMaxLength()
          Returns this attribute's maximum allowed length
 java.lang.String 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()
          Returns true if attribute inherited from a super entity.
 boolean isMandatory()
          Returns whether this attribute is mandatory
 boolean isPrimaryKey()
           
 boolean isUsedForLocking()
          Returns whether this attribute should be used for locking.
 void setDbAttributePath(java.lang.String dbAttributePath)
           
 void setType(java.lang.String type)
          Sets the type of the data object property.
 void setUsedForLocking(boolean usedForLocking)
          Sets whether this attribute should be used for locking.
 void updateDbAttributePath()
          Updates DbAttributePath for this ObjAttribute
 
Methods inherited from class org.apache.cayenne.map.Attribute
getEntity, getName, getParent, setEntity, setName, setParent, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

type

protected java.lang.String type

usedForLocking

protected boolean usedForLocking

dbAttributePath

protected java.lang.String dbAttributePath
Constructor Detail

ObjAttribute

public ObjAttribute()

ObjAttribute

public ObjAttribute(java.lang.String name)

ObjAttribute

public ObjAttribute(java.lang.String name,
                    java.lang.String type,
                    ObjEntity entity)

ObjAttribute

public ObjAttribute(ObjAttribute attribute)
Creates a clone of an ObjAttribute argument.

Since:
3.0
Method Detail

acceptVisitor

public <T> T acceptVisitor(ConfigurationNodeVisitor<T> visitor)
Specified by:
acceptVisitor in interface ConfigurationNode
Since:
3.1

getJavaClass

public java.lang.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)
Prints itself as XML to the provided XMLEncoder.

Specified by:
encodeAsXML in interface XMLSerializable
Specified by:
encodeAsXML in class Attribute
Since:
1.1

getType

public java.lang.String getType()
Returns fully qualified Java class name of the object property represented by this attribute.


setType

public void setType(java.lang.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

getDbAttribute

public DbAttribute getDbAttribute()
Returns a DbAttribute mapped by this ObjAttribute.


isInherited

public boolean isInherited()
Returns true if attribute inherited from a super entity.

Since:
3.0

getDbPathIterator

public java.util.Iterator<CayenneMapEntry> getDbPathIterator()

getDbPathIterator

public java.util.Iterator<CayenneMapEntry> getDbPathIterator(ObjEntity entity)

getDbAttributeName

public java.lang.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(java.lang.String dbAttributePath)

getDbAttributePath

public java.lang.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



Copyright © 2001-2012 Apache Cayenne. All Rights Reserved.