Class DiscriminatorMetaData

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:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • 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 Details

    • DiscriminatorMetaData

      public DiscriminatorMetaData()
    • DiscriminatorMetaData

      public DiscriminatorMetaData(DiscriminatorMetaData dmd)
      Copy constructor.
      Parameters:
      dmd - DiscriminatorMetaData to copy
  • Method Details

    • 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 class MetaData
      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)
    • toString

      public String toString()
      Overrides:
      toString in class Object