Package org.datanucleus.metadata
Class DiscriminatorMetaData
java.lang.Object
org.datanucleus.metadata.MetaData
org.datanucleus.metadata.DiscriminatorMetaData
- All Implemented Interfaces:
Serializable
Representation of a discriminator in an inheritance strategy.
Three strategies are supported
- *value-map* - where we define a value for each class as the discriminator value
- *class-name* - where we use the class name as the discriminator value
- *value-map-entity-name* - where we use the "entity" name as the discriminator value
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ColumnMetaData
Discriminator columnprotected String
Column name of discriminatorprotected IndexedValue
Whether the discriminator is indexed or not and whether it is uniqueprotected IndexMetaData
Detail of any indexing of the discriminator column (optional).private static final long
protected DiscriminatorStrategy
strategy tag value.protected String
Value for discriminator column, when using VALUE_MAP.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
ConstructorsConstructorDescriptionCopy constructor. -
Method Summary
Modifier and TypeMethodDescriptionAccessor for column MetaData.final IndexMetaData
Accessor for indexMetaDatafinal DiscriminatorStrategy
getValue()
void
Initialisation method.Method to create a new ColumnMetaData, add it, and return it.Method to create a new Index metadata, add it, and return it.void
setColumnMetaData
(ColumnMetaData columnMetaData) Mutator for column MetaData.setColumnName
(String columnName) setIndexed
(String indexed) setIndexed
(IndexedValue indexed) final void
setIndexMetaData
(IndexMetaData indexMetaData) Mutator for the index MetaDatasetStrategy
(String strategy) setStrategy
(DiscriminatorStrategy strategy) toString()
Methods inherited from class org.datanucleus.metadata.MetaData
addExtension, addExtensions, getExtensions, getMetaDataManager, getNoOfExtensions, getParent, getValueForExtension, getValuesForExtension, hasExtension, isInitialised, isPopulated, isUsed, removeExtension, setExtensions, setInitialised, setParent, setPopulated, setUsed
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
strategy
strategy tag value. -
columnName
Column name of discriminator -
columnMetaData
Discriminator column -
value
Value for discriminator column, when using VALUE_MAP. -
indexed
Whether the discriminator is indexed or not and whether it is unique -
indexMetaData
Detail of any indexing of the discriminator column (optional).
-
-
Constructor Details
-
DiscriminatorMetaData
public DiscriminatorMetaData() -
DiscriminatorMetaData
Copy constructor.- Parameters:
dmd
- DiscriminatorMetaData to copy
-
-
Method Details
-
initialise
Initialisation method. This should be called AFTER using the populate method if you are going to use populate. It creates the internal convenience arrays etc needed for normal operation.- Overrides:
initialise
in classMetaData
- Parameters:
clr
- Not used
-
getColumnMetaData
Accessor for column MetaData.- Returns:
- Returns the column MetaData.
-
setColumnMetaData
Mutator for column MetaData.- Parameters:
columnMetaData
- The column MetaData to set.
-
newColumnMetaData
Method to create a new ColumnMetaData, add it, and return it.- Returns:
- The Column metadata
-
getIndexMetaData
Accessor for indexMetaData- Returns:
- Returns the indexMetaData.
-
setIndexMetaData
Mutator for the index MetaData- Parameters:
indexMetaData
- The indexMetaData to set.
-
newIndexMetaData
Method to create a new Index metadata, add it, and return it.- Returns:
- The Index metadata
-
getValue
-
setValue
-
getColumnName
-
setColumnName
-
getStrategy
-
setStrategy
-
setStrategy
-
getIndexed
-
setIndexed
-
setIndexed
-
toString
-