Class JoinMetaData

java.lang.Object
org.datanucleus.metadata.MetaData
org.datanucleus.metadata.JoinMetaData
All Implemented Interfaces:
Serializable, ColumnMetaDataContainer

public class JoinMetaData extends MetaData implements ColumnMetaDataContainer
Secondary tables and join tables are mapped using a join condition that associates a column or columns in the secondary or join table with a column or columns in the primary table, typically the primary tables primary key columns. Column elements used for relationship mapping or join conditions specify the column name and optionally the target column name. The target column name is the name of the column in the associated table corresponding to the named column. The target column name is optional when the target column is the single primary key column of the associated table.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • foreignKeyMetaData

      protected ForeignKeyMetaData foreignKeyMetaData
      the foreign-key element.
    • indexMetaData

      protected IndexMetaData indexMetaData
      the index element.
    • uniqueMetaData

      protected UniqueMetaData uniqueMetaData
      the unique element.
    • primaryKeyMetaData

      protected PrimaryKeyMetaData primaryKeyMetaData
      PrimaryKey MetaData
    • outer

      protected boolean outer
      if is outer join. Outer joins return all elements from at least one of the sides joined.
    • table

      protected String table
      the table name.
    • catalog

      protected String catalog
      the catalog name.
    • schema

      protected String schema
      the schema name.
    • indexed

      protected IndexedValue indexed
      The indexing value
    • unique

      protected boolean unique
      Whether to add a unique constraint.
    • columnName

      protected String columnName
    • columns

      protected List<ColumnMetaData> columns
  • Constructor Details

    • JoinMetaData

      public JoinMetaData()
    • JoinMetaData

      public JoinMetaData(JoinMetaData joinmd)
      Copy constructor.
      Parameters:
      joinmd - Metadata to copy
  • Method Details

    • initialise

      public void initialise(ClassLoaderResolver clr)
      Method to initialise the object, creating internal convenience arrays. Initialises all sub-objects.
      Overrides:
      initialise in class MetaData
      Parameters:
      clr - Not used
    • addColumn

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

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

      public final boolean isOuter()
    • setOuter

      public JoinMetaData setOuter(boolean outer)
    • getDeleteAction

      public String getDeleteAction()
    • setDeleteAction

      public JoinMetaData setDeleteAction(String deleteAction)
    • getIndexed

      public IndexedValue getIndexed()
    • setIndexed

      public JoinMetaData setIndexed(IndexedValue indexed)
    • isUnique

      public boolean isUnique()
    • setUnique

      public JoinMetaData setUnique(boolean unique)
    • setUnique

      public JoinMetaData setUnique(String unique)
    • getTable

      public final String getTable()
    • setTable

      public JoinMetaData setTable(String table)
    • getCatalog

      public final String getCatalog()
    • setCatalog

      public JoinMetaData setCatalog(String catalog)
    • getSchema

      public final String getSchema()
    • setSchema

      public JoinMetaData setSchema(String schema)
    • getColumnName

      public final String getColumnName()
    • setColumnName

      public JoinMetaData setColumnName(String columnName)
    • getColumnMetaData

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

      public final IndexMetaData getIndexMetaData()
      Returns:
      Returns the indexMetaData.
    • getUniqueMetaData

      public final UniqueMetaData getUniqueMetaData()
      Returns:
      Returns the uniquexMetaData.
    • getForeignKeyMetaData

      public final ForeignKeyMetaData getForeignKeyMetaData()
      Returns:
      Returns the foreignKeyMetaData.
    • getPrimaryKeyMetaData

      public final PrimaryKeyMetaData getPrimaryKeyMetaData()
      Accessor for primaryKeyMetaData
      Returns:
      Returns the primaryKey MetaData.
    • setForeignKeyMetaData

      public final void setForeignKeyMetaData(ForeignKeyMetaData foreignKeyMetaData)
      Parameters:
      foreignKeyMetaData - The foreignKeyMetaData to set.
    • newForeignKeyMetaData

      public ForeignKeyMetaData newForeignKeyMetaData()
      Method to create a new FK metadata, set to use it, and return it.
      Returns:
      The FK metadata
    • setIndexMetaData

      public final void setIndexMetaData(IndexMetaData indexMetaData)
      Parameters:
      indexMetaData - The indexMetaData to set.
    • newIndexMetaData

      public IndexMetaData newIndexMetaData()
      Method to create a new index metadata, set to use it, and return it.
      Returns:
      The index metadata
    • setUniqueMetaData

      public final void setUniqueMetaData(UniqueMetaData uniqueMetaData)
      Parameters:
      uniqueMetaData - The uniqueMetaData to set.
    • newUniqueMetaData

      public UniqueMetaData newUniqueMetaData()
      Method to create a new unique metadata, set to use it, and return it.
      Returns:
      The unique metadata
    • setPrimaryKeyMetaData

      public final void setPrimaryKeyMetaData(PrimaryKeyMetaData primaryKeyMetaData)
      Mutator for the PrimaryKey MetaData.
      Parameters:
      primaryKeyMetaData - The PrimaryKey MetaData to set.
    • newPrimaryKeyMetaData

      public PrimaryKeyMetaData newPrimaryKeyMetaData()
      Method to create a new PK metadata, set to use it, and return it.
      Returns:
      The PK metadata