Class EnumMapping


public class EnumMapping extends SingleFieldMapping
Mapping for Enum type.
  • Field Details

    • EXTENSION_CHECK_CONSTRAINT_ENUM_VALUES

      public static final String EXTENSION_CHECK_CONSTRAINT_ENUM_VALUES
      Metadata extension key for specifying that the enum column has a CHECK constraint in the datastore. Set it to "true" to enable.
      See Also:
    • datastoreJavaType

      protected String datastoreJavaType
  • Constructor Details

    • EnumMapping

      public EnumMapping()
  • Method Details

    • initialize

      public void initialize(org.datanucleus.metadata.AbstractMemberMetaData mmd, Table table, org.datanucleus.ClassLoaderResolver clr)
      Initialize this JavaTypeMapping for the given member MetaData and Table owning it.
      Overrides:
      initialize in class SingleFieldMapping
      Parameters:
      mmd - MetaData for the member to be mapped (if any)
      table - The table storing this mapping (if any)
      clr - the ClassLoaderResolver
    • getValidValues

      public Object[] getValidValues(int index)
      Accessor for the valid values for this mapping (if any restriction is imposed).
      Overrides:
      getValidValues in class SingleFieldMapping
      Parameters:
      index - The index of the datastore column
      Returns:
      The valid value(s)
    • getJavaTypeForColumnMapping

      public String getJavaTypeForColumnMapping(int index)
      Accessor for the name of the java-type actually used when mapping the particular datastore field. This java-type must have an entry in the datastore mappings.
      Overrides:
      getJavaTypeForColumnMapping in class SingleFieldMapping
      Parameters:
      index - requested column index.
      Returns:
      the name of java-type for the requested column.
    • getJavaType

      public Class getJavaType()
      Description copied from class: JavaTypeMapping
      Accessor for the java type being mapped. This is the java type that the mapping represents. Some examples :
      • if the field is of type "MyClass" then the mapping will be OIDMapping (or subclass) the javaType will be OID, and the type will be MyClass.
      • if the field is of type "int" then the mapping will be IntegerMapping, the javaType will be Integer, and the type will be int.
      The "java type" is the java-type name used in the plugin.xml mapping file
      Specified by:
      getJavaType in class JavaTypeMapping
      Returns:
      The java type
    • setObject

      public void setObject(org.datanucleus.ExecutionContext ec, PreparedStatement ps, int[] exprIndex, Object value)
      Description copied from class: JavaTypeMapping
      Sets a value into datastoreStatement at position specified by exprIndex.
      Overrides:
      setObject in class SingleFieldMapping
      Parameters:
      ec - ExecutionContext
      ps - PreparedStatement
      exprIndex - the position of the value in the statement
      value - the value
    • getObject

      public Object getObject(org.datanucleus.ExecutionContext ec, ResultSet resultSet, int[] exprIndex)
      Description copied from class: JavaTypeMapping
      Obtains a value from datastoreResults at position specified by exprIndex.
      Overrides:
      getObject in class SingleFieldMapping
      Parameters:
      ec - ExecutionContext
      resultSet - ResultSet
      exprIndex - the position of the value in the result
      Returns:
      the value