- java.lang.Object
-
- org.datanucleus.metadata.MetaData
-
- org.datanucleus.metadata.DiscriminatorMetaData
-
- All Implemented Interfaces:
Serializable
public class DiscriminatorMetaData extends MetaData
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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected ColumnMetaData
columnMetaData
Discriminator columnprotected String
columnName
Column name of discriminatorprotected IndexedValue
indexed
Whether the discriminator is indexed or not and whether it is uniqueprotected IndexMetaData
indexMetaData
Detail of any indexing of the discriminator column (optional).protected DiscriminatorStrategy
strategy
strategy tag value.protected String
value
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_FETCH_FK_ONLY, 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 DiscriminatorMetaData()
DiscriminatorMetaData(DiscriminatorMetaData dmd)
Copy constructor.
-
Method Summary
-
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
-
strategy
protected DiscriminatorStrategy strategy
strategy tag value.
-
columnName
protected String columnName
Column name of discriminator
-
columnMetaData
protected ColumnMetaData columnMetaData
Discriminator column
-
value
protected String value
Value for discriminator column, when using VALUE_MAP.
-
indexed
protected IndexedValue indexed
Whether the discriminator is indexed or not and whether it is unique
-
indexMetaData
protected IndexMetaData indexMetaData
Detail of any indexing of the discriminator column (optional).
-
-
Constructor Detail
-
DiscriminatorMetaData
public DiscriminatorMetaData()
-
DiscriminatorMetaData
public DiscriminatorMetaData(DiscriminatorMetaData dmd)
Copy constructor.- Parameters:
dmd
- DiscriminatorMetaData to copy
-
-
Method Detail
-
initialise
public void initialise(ClassLoaderResolver clr)
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
public ColumnMetaData getColumnMetaData()
Accessor for column MetaData.- Returns:
- Returns the column MetaData.
-
setColumnMetaData
public void setColumnMetaData(ColumnMetaData columnMetaData)
Mutator for column MetaData.- Parameters:
columnMetaData
- The column MetaData to set.
-
newColumnMetaData
public ColumnMetaData newColumnMetaData()
Method to create a new ColumnMetaData, add it, and return it.- Returns:
- The Column 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 a new Index metadata, add it, and return it.- Returns:
- The Index metadata
-
getValue
public String getValue()
-
setValue
public DiscriminatorMetaData setValue(String value)
-
getColumnName
public String getColumnName()
-
setColumnName
public DiscriminatorMetaData setColumnName(String columnName)
-
getStrategy
public final DiscriminatorStrategy getStrategy()
-
setStrategy
public DiscriminatorMetaData setStrategy(DiscriminatorStrategy strategy)
-
setStrategy
public DiscriminatorMetaData setStrategy(String strategy)
-
getIndexed
public IndexedValue getIndexed()
-
setIndexed
public DiscriminatorMetaData setIndexed(IndexedValue indexed)
-
setIndexed
public DiscriminatorMetaData setIndexed(String indexed)
-
-