Class Embeddable

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

public class Embeddable extends Object implements ProjectNode, XMLSerializable
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
  • Field Details

  • Constructor Details

    • Embeddable

      public Embeddable()
    • Embeddable

      public Embeddable(String className)
  • Method Details

    • acceptVisitor

      public <T> T acceptVisitor(ProjectNodeVisitor<T> visitor)
      Specified by:
      acceptVisitor in interface ProjectNode
      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, ProjectNodeVisitor<?> delegate)
      XMLSerializable implementation that generates XML for embeddable.
      Specified by:
      encodeAsXML in interface XMLSerializable