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 ColumnMetaDataDiscriminator columnprotected StringColumn name of discriminatorprotected IndexedValueWhether the discriminator is indexed or not and whether it is uniqueprotected IndexMetaDataDetail of any indexing of the discriminator column (optional).private static final longprotected DiscriminatorStrategystrategy tag value.protected StringValue for discriminator column, when using VALUE_MAP.Fields inherited from class 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 IndexMetaDataAccessor for indexMetaDatafinal DiscriminatorStrategygetValue()voidInitialisation method.Method to create a new ColumnMetaData, add it, and return it.Method to create a new Index metadata, add it, and return it.voidsetColumnMetaData(ColumnMetaData columnMetaData) Mutator for column MetaData.setColumnName(String columnName) setIndexed(String indexed) setIndexed(IndexedValue indexed) final voidsetIndexMetaData(IndexMetaData indexMetaData) Mutator for the index MetaDatasetStrategy(String strategy) setStrategy(DiscriminatorStrategy strategy) toString()Methods inherited from class 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:
initialisein 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
-