Class AbstractElementMetaData

java.lang.Object
org.datanucleus.metadata.MetaData
org.datanucleus.metadata.AbstractElementMetaData
All Implemented Interfaces:
Serializable, ColumnMetaDataContainer
Direct Known Subclasses:
ElementMetaData, KeyMetaData, ValueMetaData

public abstract class AbstractElementMetaData extends MetaData implements ColumnMetaDataContainer
This element specifies the mapping for the element component of arrays and collections. If only one column is mapped, and no additional information is needed for the column, then the column attribute can be used. Otherwise, the column element(s) are used. The serialized attribute specifies that the key values are to be serialized into the named column. The foreign-key attribute specifies the name of a foreign key to be generated.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • unique

      protected boolean unique
      Whether to add a unique constraint
    • mappedBy

      protected String mappedBy
      Field that this is mapped to.
    • indexed

      protected IndexedValue indexed
      The indexing value
    • indexMetaData

      protected IndexMetaData indexMetaData
      IndexMetaData
    • uniqueMetaData

      protected UniqueMetaData uniqueMetaData
      UniqueMetaData.
    • foreignKeyMetaData

      protected ForeignKeyMetaData foreignKeyMetaData
      ForeignKeyMetaData
    • embeddedMetaData

      protected EmbeddedMetaData embeddedMetaData
      Definition of embedding of the element/key/value. Only present if defined by user.
    • table

      protected String table
    • columnName

      protected String columnName
    • columns

      protected List<ColumnMetaData> columns
  • Constructor Details

    • AbstractElementMetaData

      public AbstractElementMetaData(AbstractElementMetaData aemd)
      Constructor to create a copy of the passed metadata object.
      Parameters:
      aemd - The metadata to copy
    • AbstractElementMetaData

      public AbstractElementMetaData()
      Default constructor. Set the fields using setters, before populate().
  • Method Details

    • populate

      public void populate(ClassLoaderResolver clr, ClassLoader primary)
      Populate the metadata.
      Parameters:
      clr - the ClassLoaderResolver
      primary - the primary ClassLoader to use (or null)
    • initialise

      public void initialise(ClassLoaderResolver clr)
      Method to initialise the object, creating any convenience arrays needed. Initialises all sub-objects.
      Overrides:
      initialise in class MetaData
    • getTable

      public String getTable()
    • setTable

      public void setTable(String table)
    • getMappedBy

      public String getMappedBy()
    • setMappedBy

      public void setMappedBy(String mappedBy)
    • getIndexed

      public IndexedValue getIndexed()
    • setIndexed

      public void setIndexed(IndexedValue indexed)
    • isUnique

      public boolean isUnique()
    • setUnique

      public void setUnique(boolean unique)
    • getForeignKeyMetaData

      public final ForeignKeyMetaData getForeignKeyMetaData()
      Accessor for foreignKeyMetaData
      Returns:
      Returns the foreignKeyMetaData.
    • getDeleteAction

      public ForeignKeyAction getDeleteAction()
    • setDeleteAction

      public void setDeleteAction(String deleteAction)
    • setDeleteAction

      public void setDeleteAction(ForeignKeyAction deleteAction)
    • getUpdateAction

      public ForeignKeyAction getUpdateAction()
    • setUpdateAction

      public void setUpdateAction(String updateAction)
    • setUpdateAction

      public void setUpdateAction(ForeignKeyAction updateAction)
    • getColumnName

      public final String getColumnName()
    • setColumnName

      public void setColumnName(String columnName)
    • getColumnMetaData

      public final ColumnMetaData[] getColumnMetaData()
      Accessor for columnMetaData
      Specified by:
      getColumnMetaData in interface ColumnMetaDataContainer
      Returns:
      Returns the columnMetaData.
    • addColumn

      public void addColumn(ColumnMetaData colmd)
      Add a new ColumnMetaData element
      Specified by:
      addColumn in interface ColumnMetaDataContainer
      Parameters:
      colmd - The Column MetaData
    • newColumnMetaData

      public ColumnMetaData newColumnMetaData()
      Method to create a column metadata, add it, and return it.
      Returns:
      The column metadata
    • getEmbeddedMetaData

      public final EmbeddedMetaData getEmbeddedMetaData()
      Accessor for embeddedMetaData
      Returns:
      Returns the embeddedMetaData.
    • setEmbeddedMetaData

      public final void setEmbeddedMetaData(EmbeddedMetaData embeddedMetaData)
      Mutator for the Embedded MetaData
      Parameters:
      embeddedMetaData - The embeddedMetaData to set.
    • newEmbeddedMetaData

      public EmbeddedMetaData newEmbeddedMetaData()
      Method to create an embedded metadata, add it, and return it.
      Returns:
      The embedded metadata
    • setForeignKeyMetaData

      public final void setForeignKeyMetaData(ForeignKeyMetaData foreignKeyMetaData)
      Mutator for the Foreign Key MetaData
      Parameters:
      foreignKeyMetaData - The foreignKeyMetaData to set.
    • newForeignKeyMetaData

      public ForeignKeyMetaData newForeignKeyMetaData()
      Method to create a unique metadata, add it, and return it.
      Returns:
      The unique metadata
    • getIndexMetaData

      public final IndexMetaData getIndexMetaData()
      Accessor for indexMetaData
      Returns:
      Returns the indexMetaData.
    • setIndexMetaData

      public final void setIndexMetaData(IndexMetaData indexMetaData)
      Mutator for the Index MetaData
      Parameters:
      indexMetaData - The indexMetaData to set.
    • newIndexMetaData

      public IndexMetaData newIndexMetaData()
      Method to create an index metadata, add it, and return it.
      Returns:
      The index metadata
    • getUniqueMetaData

      public final UniqueMetaData getUniqueMetaData()
      Accessor for uniqueMetaData
      Returns:
      Returns the uniqueMetaData.
    • setUniqueMetaData

      public final void setUniqueMetaData(UniqueMetaData uniqueMetaData)
      Mutator for the Unique MetaData
      Parameters:
      uniqueMetaData - The uniqueMetaData to set.
    • newUniqueMetaData

      public UniqueMetaData newUniqueMetaData()
      Method to create a unique metadata, add it, and return it.
      Returns:
      The unique metadata