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 String
catalog
the catalog name.protected String
columnName
protected List<ColumnMetaData>
columns
protected ForeignKeyMetaData
foreignKeyMetaData
the foreign-key element.protected IndexedValue
indexed
The indexing valueprotected IndexMetaData
indexMetaData
the index element.protected boolean
outer
if is outer join.protected PrimaryKeyMetaData
primaryKeyMetaData
PrimaryKey MetaDataprotected String
schema
the schema name.protected String
table
the table name.protected boolean
unique
Whether to add a unique constraint.protected UniqueMetaData
uniqueMetaData
the 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 void
addColumn(ColumnMetaData colmd)
Add a new ColumnMetaData elementString
getCatalog()
ColumnMetaData[]
getColumnMetaData()
Accessor for columnMetaDataString
getColumnName()
String
getDeleteAction()
ForeignKeyMetaData
getForeignKeyMetaData()
IndexedValue
getIndexed()
IndexMetaData
getIndexMetaData()
PrimaryKeyMetaData
getPrimaryKeyMetaData()
Accessor for primaryKeyMetaDataString
getSchema()
String
getTable()
UniqueMetaData
getUniqueMetaData()
void
initialise(ClassLoaderResolver clr)
Method to initialise the object, creating internal convenience arrays.boolean
isOuter()
boolean
isUnique()
ColumnMetaData
newColumnMetaData()
Method to create a new column metadata, add it, and return it.ForeignKeyMetaData
newForeignKeyMetaData()
Method to create a new FK metadata, set to use it, and return it.IndexMetaData
newIndexMetaData()
Method to create a new index metadata, set to use it, and return it.PrimaryKeyMetaData
newPrimaryKeyMetaData()
Method to create a new PK metadata, set to use it, and return it.UniqueMetaData
newUniqueMetaData()
Method to create a new unique metadata, set to use it, and return it.JoinMetaData
setCatalog(String catalog)
JoinMetaData
setColumnName(String columnName)
JoinMetaData
setDeleteAction(String deleteAction)
void
setForeignKeyMetaData(ForeignKeyMetaData foreignKeyMetaData)
JoinMetaData
setIndexed(IndexedValue indexed)
void
setIndexMetaData(IndexMetaData indexMetaData)
JoinMetaData
setOuter(boolean outer)
void
setPrimaryKeyMetaData(PrimaryKeyMetaData primaryKeyMetaData)
Mutator for the PrimaryKey MetaData.JoinMetaData
setSchema(String schema)
JoinMetaData
setTable(String table)
JoinMetaData
setUnique(boolean unique)
JoinMetaData
setUnique(String unique)
void
setUniqueMetaData(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:
initialise
in classMetaData
- Parameters:
clr
- Not used
-
addColumn
public void addColumn(ColumnMetaData colmd)
Add a new ColumnMetaData element- Specified by:
addColumn
in 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:
getColumnMetaData
in 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
-
-