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 and Description
    --- | ---
    `protected String` | `dbAttributePath`
    `protected String` | `type`
    `protected boolean` | `usedForLocking`

    - ### Fields inherited from class org.apache.cayenne.map.Attribute

      `entity, name`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ObjAttribute()`
    `ObjAttribute(ObjAttribute attribute)` Creates a clone of an ObjAttribute argument.
    `ObjAttribute(String name)`
    `ObjAttribute(String name, String type, ObjEntity entity)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `<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.
    `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` | `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(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.
    `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 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

    - #### acceptVisitor

          public <T> T acceptVisitor(ConfigurationNodeVisitor<T> visitor)

      Specified by:
        `acceptVisitor` in interface `ConfigurationNode`
      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)

      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)

    - #### 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

Copyright © 2001–2018 Apache Cayenne. All rights reserved.