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:
Serializable, CayenneMapEntry, XMLSerializable
Direct Known Subclasses:
EmbeddedAttribute, EOObjAttribute

public class ObjAttribute
extends Attribute

An ObjAttribute is a mapping descriptor of a Java class property.

Author:
Misha Shengaout, Andrus Adamchik
See Also:
Serialized Form

Field Summary
protected  String dbAttributePath
           
protected  String type
           
protected  boolean usedForLocking
           
 
Fields inherited from class org.apache.cayenne.map.Attribute
entity, name
 
Constructor Summary
ObjAttribute()
           
ObjAttribute(String name)
           
ObjAttribute(String name, String type, ObjEntity entity)
           
 
Method Summary
 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.
 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()
           
 Class<?> getJavaClass()
          Returns Java class of an object property described by this attribute.
 String getType()
          Returns fully qualified Java class name of the object property represented by this attribute.
 boolean isCompound()
          Deprecated. since 3.0 use 'isFlattened'.
 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 isUsedForLocking()
          Returns whether this attribute should be used for locking.
 void setDbAttribute(DbAttribute dbAttribute)
          Deprecated. since 3.0 - this method only works for non-flattened attributes. 'setDbAttributePath' should be used instead.
 void setDbAttributeName(String name)
          Deprecated. since 3.0 use setDbAttributePath(String).
 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.
 
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 String type

usedForLocking

protected boolean usedForLocking

dbAttributePath

protected String dbAttributePath
Constructor Detail

ObjAttribute

public ObjAttribute()

ObjAttribute

public ObjAttribute(String name)

ObjAttribute

public ObjAttribute(String name,
                    String type,
                    ObjEntity entity)
Method Detail

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)
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 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.


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.


getDbPathIterator

public Iterator<CayenneMapEntry> getDbPathIterator()

setDbAttribute

public void setDbAttribute(DbAttribute dbAttribute)
Deprecated. since 3.0 - this method only works for non-flattened attributes. 'setDbAttributePath' should be used instead.

Set mapped DbAttribute.


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.


setDbAttributeName

public void setDbAttributeName(String name)
Deprecated. since 3.0 use setDbAttributePath(String).

Sets the name of the mapped DbAttribute.


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.


isCompound

public boolean isCompound()
Deprecated. since 3.0 use 'isFlattened'.


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

getClientAttribute

public ObjAttribute getClientAttribute()
Returns an ObjAttribute stripped of any server-side information, such as DbAttribute mapping.

Since:
1.2


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