org.datanucleus.store.mapped.mapping
Class EnumMapping

java.lang.Object
  extended by org.datanucleus.store.mapped.mapping.JavaTypeMapping
      extended by org.datanucleus.store.mapped.mapping.SingleFieldMapping
          extended by org.datanucleus.store.mapped.mapping.EnumMapping

public class EnumMapping
extends SingleFieldMapping

Mapping for JDK1.5 Enum type.


Field Summary
protected  java.lang.String datastoreJavaType
           
 
Fields inherited from class org.datanucleus.store.mapped.mapping.JavaTypeMapping
datastoreContainer, datastoreMappings, LOCALISER, mmd, referenceMapping, roleForMember, storeMgr, type
 
Constructor Summary
EnumMapping()
           
 
Method Summary
 java.lang.Class getJavaType()
          Accessor for the java type being mapped.
 java.lang.String getJavaTypeForDatastoreMapping(int index)
          Accessor for the name of the java-type actually used when mapping the particular datastore field.
 java.lang.Object getObject(ObjectManager om, java.lang.Object resultSet, int[] exprIndex)
          Method to extract the Enum object from the passed result set.
 java.lang.Object getSampleValue(ClassLoaderResolver clr)
          Return a sample value of the mapping type to be used for internal evaluation of type/conversion.
 java.lang.Object[] getValidValues(int index)
          Accessor for the valid values for this mapping (if any restriction is imposed).
 void initialize(AbstractMemberMetaData fmd, DatastoreContainerObject container, ClassLoaderResolver clr)
          Initialize this JavaTypeMapping with the given DatastoreAdapter for the given FieldMetaData.
 ScalarExpression newLiteral(QueryExpression qs, java.lang.Object value)
          Creates a literal from an value for use in TJDO-style JDOQL.
 ScalarExpression newScalarExpression(QueryExpression qs, LogicSetExpression te)
          Creates a expression from a field name/table.
 void setObject(ObjectManager om, java.lang.Object preparedStatement, int[] exprIndex, java.lang.Object value)
          Method to set the Enum in the datastore statement.
 
Methods inherited from class org.datanucleus.store.mapped.mapping.SingleFieldMapping
equals, getBoolean, getByte, getChar, getDefaultLength, getDouble, getFloat, getInt, getLong, getShort, getString, prepareDatastoreMapping, setBoolean, setByte, setChar, setDouble, setFloat, setInt, setLong, setShort, setString
 
Methods inherited from class org.datanucleus.store.mapped.mapping.JavaTypeMapping
addDatastoreMapping, failureMessage, getColumnMetaDataForMember, getDatastoreContainer, getDatastoreMapping, getDatastoreMappings, getMemberMetaData, getNumberOfDatastoreMappings, getObject, getReferenceMapping, getRoleForMember, getType, getValueForDatastoreMapping, hashCode, hasSimpleDatastoreRepresentation, includeInFetchStatement, includeInInsertStatement, includeInUpdateStatement, initialize, isNullable, isSerialised, setDatastoreContainer, setDefault, setMemberMetaData, setObject, setReferenceMapping, setRoleForMember
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

datastoreJavaType

protected java.lang.String datastoreJavaType
Constructor Detail

EnumMapping

public EnumMapping()
Method Detail

initialize

public void initialize(AbstractMemberMetaData fmd,
                       DatastoreContainerObject container,
                       ClassLoaderResolver clr)
Initialize this JavaTypeMapping with the given DatastoreAdapter for the given FieldMetaData.

Overrides:
initialize in class SingleFieldMapping
Parameters:
container - The datastore container storing this mapping (if any)
clr - the ClassLoaderResolver
fmd - FieldMetaData for the field to be mapped (if any)

getValidValues

public java.lang.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)

getJavaTypeForDatastoreMapping

public java.lang.String getJavaTypeForDatastoreMapping(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:
getJavaTypeForDatastoreMapping in class SingleFieldMapping
Parameters:
index - requested datastore field index.
Returns:
the name of java-type for the requested datastore field.

getJavaType

public java.lang.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 : 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(ObjectManager om,
                      java.lang.Object preparedStatement,
                      int[] exprIndex,
                      java.lang.Object value)
Method to set the Enum in the datastore statement.

Overrides:
setObject in class SingleFieldMapping
Parameters:
om - ObjectManager
preparedStatement - Statement for the datastore
exprIndex - Index position(s) to set the Enum at in the statement
value - The Enum value to set

getObject

public java.lang.Object getObject(ObjectManager om,
                                  java.lang.Object resultSet,
                                  int[] exprIndex)
Method to extract the Enum object from the passed result set.

Overrides:
getObject in class SingleFieldMapping
Parameters:
om - ObjectManager
resultSet - The result set
exprIndex - The index position(s) in the result set to use.
Returns:
The Enum

getSampleValue

public java.lang.Object getSampleValue(ClassLoaderResolver clr)
Description copied from class: JavaTypeMapping
Return a sample value of the mapping type to be used for internal evaluation of type/conversion. TODO Delete when we drop legacy support

Overrides:
getSampleValue in class JavaTypeMapping
Parameters:
clr - ClassLoader resolver
Returns:
The sample value.

newLiteral

public ScalarExpression newLiteral(QueryExpression qs,
                                   java.lang.Object value)
Description copied from class: JavaTypeMapping
Creates a literal from an value for use in TJDO-style JDOQL. This implementation just throws a NucleusException.

Overrides:
newLiteral in class JavaTypeMapping
Parameters:
qs - The Query statement
value - The object
Returns:
A Scalar Expression TODO Remove this when we drop legacy query mechanism

newScalarExpression

public ScalarExpression newScalarExpression(QueryExpression qs,
                                            LogicSetExpression te)
Description copied from class: JavaTypeMapping
Creates a expression from a field name/table. e.g. tablename.fieldname; tablealias.fieldalias For use in TJDO-style JDOQL. This implementation just throws a NucleusException.

Overrides:
newScalarExpression in class JavaTypeMapping
Parameters:
qs - The Query statement
te - the alias for the table
Returns:
A Scalar Expression TODO Remove this when we drop legacy query mechanism


Copyright © 2010. All Rights Reserved.