Package org.datanucleus.metadata
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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected String
columnName
protected List<ColumnMetaData>
columns
protected EmbeddedMetaData
embeddedMetaData
Definition of embedding of the element/key/value.protected ForeignKeyMetaData
foreignKeyMetaData
ForeignKeyMetaDataprotected IndexedValue
indexed
The indexing valueprotected IndexMetaData
indexMetaData
IndexMetaDataprotected String
mappedBy
Field that this is mapped to.protected String
table
protected boolean
unique
Whether to add a unique constraintprotected UniqueMetaData
uniqueMetaData
UniqueMetaData.-
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 AbstractElementMetaData()
Default constructor.AbstractElementMetaData(AbstractElementMetaData aemd)
Constructor to create a copy of the passed metadata object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addColumn(ColumnMetaData colmd)
Add a new ColumnMetaData elementColumnMetaData[]
getColumnMetaData()
Accessor for columnMetaDataString
getColumnName()
ForeignKeyAction
getDeleteAction()
EmbeddedMetaData
getEmbeddedMetaData()
Accessor for embeddedMetaDataForeignKeyMetaData
getForeignKeyMetaData()
Accessor for foreignKeyMetaDataIndexedValue
getIndexed()
IndexMetaData
getIndexMetaData()
Accessor for indexMetaDataString
getMappedBy()
String
getTable()
UniqueMetaData
getUniqueMetaData()
Accessor for uniqueMetaDataForeignKeyAction
getUpdateAction()
void
initialise(ClassLoaderResolver clr)
Method to initialise the object, creating any convenience arrays needed.boolean
isUnique()
ColumnMetaData
newColumnMetaData()
Method to create a column metadata, add it, and return it.EmbeddedMetaData
newEmbeddedMetaData()
Method to create an embedded metadata, add it, and return it.ForeignKeyMetaData
newForeignKeyMetaData()
Method to create a unique metadata, add it, and return it.IndexMetaData
newIndexMetaData()
Method to create an index metadata, add it, and return it.UniqueMetaData
newUniqueMetaData()
Method to create a unique metadata, add it, and return it.void
populate(ClassLoaderResolver clr, ClassLoader primary)
Populate the metadata.void
setColumnName(String columnName)
void
setDeleteAction(String deleteAction)
void
setDeleteAction(ForeignKeyAction deleteAction)
void
setEmbeddedMetaData(EmbeddedMetaData embeddedMetaData)
Mutator for the Embedded MetaDatavoid
setForeignKeyMetaData(ForeignKeyMetaData foreignKeyMetaData)
Mutator for the Foreign Key MetaDatavoid
setIndexed(IndexedValue indexed)
void
setIndexMetaData(IndexMetaData indexMetaData)
Mutator for the Index MetaDatavoid
setMappedBy(String mappedBy)
void
setTable(String table)
void
setUnique(boolean unique)
void
setUniqueMetaData(UniqueMetaData uniqueMetaData)
Mutator for the Unique MetaDatavoid
setUpdateAction(String updateAction)
void
setUpdateAction(ForeignKeyAction updateAction)
-
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
-
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 Detail
-
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 Detail
-
populate
public void populate(ClassLoaderResolver clr, ClassLoader primary)
Populate the metadata.- Parameters:
clr
- the ClassLoaderResolverprimary
- 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 classMetaData
-
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 interfaceColumnMetaDataContainer
- Returns:
- Returns the columnMetaData.
-
addColumn
public void addColumn(ColumnMetaData colmd)
Add a new ColumnMetaData element- Specified by:
addColumn
in interfaceColumnMetaDataContainer
- 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
-
-