org.apache.cayenne.map

## Class EmbeddedAttribute

- java.lang.Object
- - org.apache.cayenne.map.Attribute
  - - org.apache.cayenne.map.ObjAttribute
    - - org.apache.cayenne.map.EmbeddedAttribute

- All Implemented Interfaces:
    Serializable, ConfigurationNode, CayenneMapEntry, XMLSerializable

      public class EmbeddedAttribute
      extends ObjAttribute

  An attribute of the ObjEntity that maps to an embeddable class.
  Since:
    3.0
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Map<String,String>` | `attributeOverrides`

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

      `dbAttributePath, lazy, type, usedForLocking`

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

      `entity, name`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EmbeddedAttribute()`
    `EmbeddedAttribute(String name)`
    `EmbeddedAttribute(String name, String type, ObjEntity entity)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAttributeOverride(String name, String dbAttributeName)`
    `void` | `encodeAsXML(XMLEncoder encoder, ConfigurationNodeVisitor delegate)` Prints itself as XML to the provided XMLEncoder.
    `ObjAttribute` | `getAttribute(String name)` Returns an ObjAttribute for a given name, taking into account column name overrides.
    `ObjAttribute` | `getAttributeForDbPath(String dbPath)` Returns an ObjAttribute that maps to a given `DbAttribute`, or returns null if no such attribute exists.
    `Map<String,String>` | `getAttributeOverrides()`
    `Collection<ObjAttribute>` | `getAttributes()` Returns a Collection of ObjAttributes of an embedded object taking into account column name overrides.
    `Embeddable` | `getEmbeddable()`
    `Class<?>` | `getJavaClass()` Returns Java class of an object property described by this attribute.
    `String` | `getType()` Returns a type of this attribute that must be an `Embeddable` object.
    `void` | `removeAttributeOverride(String name)`
    `void` | `setType(String type)` Sets a type of this attribute that must be an `Embeddable` object.

    - ### Methods inherited from class org.apache.cayenne.map.ObjAttribute

      `acceptVisitor, getClientAttribute, getDbAttribute, getDbAttributeName, getDbAttributePath, getDbPathIterator, getDbPathIterator, getEntity, getMaxLength, isFlattened, isInherited, isLazy, isMandatory, isPrimaryKey, isUsedForLocking, setDbAttributePath, setLazy, setUsedForLocking, toString, updateDbAttributePath`

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

      `getName, getParent, setEntity, setName, setParent`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### attributeOverrides

          protected Map<String,String> attributeOverrides

  - ### Constructor Detail

    - #### EmbeddedAttribute

          public EmbeddedAttribute()

    - #### EmbeddedAttribute

          public EmbeddedAttribute(String name)

    - #### EmbeddedAttribute

          public EmbeddedAttribute(String name,
                                   String type,
                                   ObjEntity entity)

  - ### Method Detail

    - #### encodeAsXML

          public void encodeAsXML(XMLEncoder encoder,
                                  ConfigurationNodeVisitor delegate)

      Description copied from class: `ObjAttribute`
      Prints itself as XML to the provided XMLEncoder.
      Specified by:
        `encodeAsXML` in interface `XMLSerializable`
      Overrides:
        `encodeAsXML` in class `ObjAttribute`

    - #### getAttributeOverrides

          public Map<String,String> getAttributeOverrides()

    - #### getEmbeddable

          public Embeddable getEmbeddable()

    - #### getAttributeForDbPath

          public ObjAttribute getAttributeForDbPath(String dbPath)

      Returns an ObjAttribute that maps to a given `DbAttribute`, or returns null if no such attribute exists.

    - #### getAttribute

          public ObjAttribute getAttribute(String name)

      Returns an ObjAttribute for a given name, taking into account column name overrides.

    - #### getAttributes

          public Collection<ObjAttribute> getAttributes()

      Returns a Collection of ObjAttributes of an embedded object taking into account column name overrides.

    - #### addAttributeOverride

          public void addAttributeOverride(String name,
                                           String dbAttributeName)

    - #### removeAttributeOverride

          public void removeAttributeOverride(String name)

    - #### getType

          public String getType()

      Returns a type of this attribute that must be an `Embeddable` object.
      Overrides:
        `getType` in class `ObjAttribute`

    - #### getJavaClass

          public Class<?> getJavaClass()

      Returns Java class of an object property described by this attribute. Wraps any thrown exceptions into CayenneRuntimeException.
      Overrides:
        `getJavaClass` in class `ObjAttribute`

    - #### setType

          public void setType(String type)

      Sets a type of this attribute that must be an `Embeddable` object.
      Overrides:
        `setType` in class `ObjAttribute`

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