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.

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(ObjAttribute attribute)
          Creates a clone of an ObjAttribute argument.
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()
           
 Iterator<CayenneMapEntry> getDbPathIterator(ObjEntity entity)
           
 Class<?> getJavaClass()
          Returns Java class of an object property described by this attribute.
 int getMaxLength()
          Returns this attribute's maximum allowed length
 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 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 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)

ObjAttribute

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

Since:
3.0
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.


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 Iterator<CayenneMapEntry> getDbPathIterator()

getDbPathIterator

public Iterator<CayenneMapEntry> getDbPathIterator(ObjEntity entity)

setDbAttribute

@Deprecated
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

@Deprecated
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

@Deprecated
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

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


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