Class Embeddable

java.lang.Object
org.apache.cayenne.map.Embeddable
All Implemented Interfaces:
Serializable, ConfigurationNode, XMLSerializable

public class Embeddable
extends Object
implements ConfigurationNode, XMLSerializable, Serializable
A mapping descriptor of an embeddable class. Embeddable is a persistent class that doesn't have its own identity and is embedded in other persistent classes. It can be viewed as a custom type mapped to one or more database columns. Embeddable mapping can include optional default column names that can be overriden by the owning entity.
Since:
3.0
See Also:
Serialized Form
  • Field Details

  • Constructor Details

    • Embeddable

      public Embeddable()
    • Embeddable

      public Embeddable​(String className)
  • Method Details

    • acceptVisitor

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

      public DataMap getDataMap()
    • setDataMap

      public void setDataMap​(DataMap dataMap)
    • getAttributeForDbPath

      public EmbeddableAttribute getAttributeForDbPath​(String dbPath)
      Returns EmbeddableAttribute of this Embeddable that maps to dbAttribute parameter. Returns null if no such attribute is found.
    • getAttributeMap

      public Map<String,​EmbeddableAttribute> getAttributeMap()
      Returns an unmodifiable sorted map of embeddable attributes.
    • getAttributes

      public Collection<EmbeddableAttribute> getAttributes()
      Returns an unmodifiable collection of embeddable attributes.
    • addAttribute

      public void addAttribute​(EmbeddableAttribute attribute)
      Adds new embeddable attribute to the entity, setting its parent embeddable to be this object. If attribute has no name, IllegalArgumentException is thrown.
    • getAttribute

      public EmbeddableAttribute getAttribute​(String name)
    • removeAttribute

      public void removeAttribute​(String name)
    • getClassName

      public String getClassName()
    • setClassName

      public void setClassName​(String className)
    • encodeAsXML

      public void encodeAsXML​(XMLEncoder encoder, ConfigurationNodeVisitor delegate)
      XMLSerializable implementation that generates XML for embeddable.
      Specified by:
      encodeAsXML in interface XMLSerializable