Package org.datanucleus.metadata
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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Stringcatalogthe catalog name.protected StringcolumnNameprotected List<ColumnMetaData>columnsprotected ForeignKeyMetaDataforeignKeyMetaDatathe foreign-key element.protected IndexedValueindexedThe indexing valueprotected IndexMetaDataindexMetaDatathe index element.protected booleanouterif is outer join.protected PrimaryKeyMetaDataprimaryKeyMetaDataPrimaryKey MetaDataprotected Stringschemathe schema name.protected Stringtablethe table name.protected booleanuniqueWhether to add a unique constraint.protected UniqueMetaDatauniqueMetaDatathe unique element.-
Fields inherited from class org.datanucleus.metadata.MetaData
EXTENSION_CLASS_CREATETIMESTAMP, EXTENSION_CLASS_CREATETIMESTAMP_COLUMN_NAME, EXTENSION_CLASS_CREATEUSER, EXTENSION_CLASS_CREATEUSER_COLUMN_LENGTH, EXTENSION_CLASS_CREATEUSER_COLUMN_NAME, EXTENSION_CLASS_MULTITENANCY_COLUMN_LENGTH, EXTENSION_CLASS_MULTITENANCY_COLUMN_NAME, EXTENSION_CLASS_MULTITENANCY_JDBC_TYPE, EXTENSION_CLASS_MULTITENANT, EXTENSION_CLASS_READ_ONLY, EXTENSION_CLASS_SOFTDELETE, EXTENSION_CLASS_SOFTDELETE_COLUMN_NAME, EXTENSION_CLASS_UPDATETIMESTAMP, EXTENSION_CLASS_UPDATETIMESTAMP_COLUMN_NAME, EXTENSION_CLASS_UPDATEUSER, EXTENSION_CLASS_UPDATEUSER_COLUMN_LENGTH, EXTENSION_CLASS_UPDATEUSER_COLUMN_NAME, EXTENSION_CLASS_VERSION_FIELD_NAME, EXTENSION_CLASS_VIEW_DEFINITION, EXTENSION_CLASS_VIEW_IMPORTS, EXTENSION_INDEX_COLUMN_ORDERING, EXTENSION_MEMBER_CACHEABLE, EXTENSION_MEMBER_CALENDAR_ONE_COLUMN, EXTENSION_MEMBER_CASCADE_ATTACH, EXTENSION_MEMBER_CASCADE_DETACH, EXTENSION_MEMBER_CASCADE_PERSIST, EXTENSION_MEMBER_CASCADE_REFRESH, EXTENSION_MEMBER_COMPARATOR_NAME, EXTENSION_MEMBER_CONTAINER_ALLOW_NULLS, EXTENSION_MEMBER_CREATE_TIMESTAMP, EXTENSION_MEMBER_CREATE_USER, EXTENSION_MEMBER_ENUM_VALUE_GETTER, EXTENSION_MEMBER_IMPLEMENTATION_CLASSES, EXTENSION_MEMBER_INSERTABLE, EXTENSION_MEMBER_KEY_IMPLEMENTATION_CLASSES, EXTENSION_MEMBER_LIST_ORDERING, EXTENSION_MEMBER_RELATION_DISCRIM_COLUMN, EXTENSION_MEMBER_RELATION_DISCRIM_PK, EXTENSION_MEMBER_RELATION_DISCRIM_VALUE, EXTENSION_MEMBER_STRATEGY_WHEN_NOTNULL, EXTENSION_MEMBER_TYPE_CONVERTER_DISABLED, EXTENSION_MEMBER_TYPE_CONVERTER_NAME, EXTENSION_MEMBER_UPDATE_TIMESTAMP, EXTENSION_MEMBER_UPDATE_USER, EXTENSION_MEMBER_UPDATEABLE, EXTENSION_MEMBER_VALUE_IMPLEMENTATION_CLASSES, EXTENSION_VERSION_NUMBER_INITIAL_VALUE, extensions, metaDataState, parent, VENDOR_NAME
-
-
Constructor Summary
Constructors Constructor Description JoinMetaData()JoinMetaData(JoinMetaData joinmd)Copy constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddColumn(ColumnMetaData colmd)Add a new ColumnMetaData elementStringgetCatalog()ColumnMetaData[]getColumnMetaData()Accessor for columnMetaDataStringgetColumnName()StringgetDeleteAction()ForeignKeyMetaDatagetForeignKeyMetaData()IndexedValuegetIndexed()IndexMetaDatagetIndexMetaData()PrimaryKeyMetaDatagetPrimaryKeyMetaData()Accessor for primaryKeyMetaDataStringgetSchema()StringgetTable()UniqueMetaDatagetUniqueMetaData()voidinitialise(ClassLoaderResolver clr)Method to initialise the object, creating internal convenience arrays.booleanisOuter()booleanisUnique()ColumnMetaDatanewColumnMetaData()Method to create a new column metadata, add it, and return it.ForeignKeyMetaDatanewForeignKeyMetaData()Method to create a new FK metadata, set to use it, and return it.IndexMetaDatanewIndexMetaData()Method to create a new index metadata, set to use it, and return it.PrimaryKeyMetaDatanewPrimaryKeyMetaData()Method to create a new PK metadata, set to use it, and return it.UniqueMetaDatanewUniqueMetaData()Method to create a new unique metadata, set to use it, and return it.JoinMetaDatasetCatalog(String catalog)JoinMetaDatasetColumnName(String columnName)JoinMetaDatasetDeleteAction(String deleteAction)voidsetForeignKeyMetaData(ForeignKeyMetaData foreignKeyMetaData)JoinMetaDatasetIndexed(IndexedValue indexed)voidsetIndexMetaData(IndexMetaData indexMetaData)JoinMetaDatasetOuter(boolean outer)voidsetPrimaryKeyMetaData(PrimaryKeyMetaData primaryKeyMetaData)Mutator for the PrimaryKey MetaData.JoinMetaDatasetSchema(String schema)JoinMetaDatasetTable(String table)JoinMetaDatasetUnique(boolean unique)JoinMetaDatasetUnique(String unique)voidsetUniqueMetaData(UniqueMetaData uniqueMetaData)-
Methods inherited from class org.datanucleus.metadata.MetaData
addExtension, addExtensions, getExtensions, getMetaDataManager, getNoOfExtensions, getParent, getValueForExtension, getValuesForExtension, hasExtension, isInitialised, isPopulated, isUsed, removeExtension, setExtensions, setParent
-
-
-
-
Field Detail
-
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 Detail
-
JoinMetaData
public JoinMetaData()
-
JoinMetaData
public JoinMetaData(JoinMetaData joinmd)
Copy constructor.- Parameters:
joinmd- Metadata to copy
-
-
Method Detail
-
initialise
public void initialise(ClassLoaderResolver clr)
Method to initialise the object, creating internal convenience arrays. Initialises all sub-objects.- Overrides:
initialisein classMetaData- Parameters:
clr- Not used
-
addColumn
public void addColumn(ColumnMetaData colmd)
Add a new ColumnMetaData element- Specified by:
addColumnin interfaceColumnMetaDataContainer- 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:
getColumnMetaDatain interfaceColumnMetaDataContainer- 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
-
-