Class TypeConverterMapping
- java.lang.Object
-
- org.datanucleus.store.rdbms.mapping.java.JavaTypeMapping
-
- org.datanucleus.store.rdbms.mapping.java.SingleFieldMapping
-
- org.datanucleus.store.rdbms.mapping.java.TypeConverterMapping
-
public class TypeConverterMapping extends SingleFieldMapping
Mapping where the member has its value converted to/from some storable datastore type using a TypeConverter.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) org.datanucleus.store.types.converters.TypeConverter
converter
-
Fields inherited from class org.datanucleus.store.rdbms.mapping.java.SingleFieldMapping
EXTENSION_CHECK_CONSTRAINT_VALUES
-
Fields inherited from class org.datanucleus.store.rdbms.mapping.java.JavaTypeMapping
absFieldNumber, columnMappings, mmd, referenceMapping, roleForMember, storeMgr, table, type
-
-
Constructor Summary
Constructors Constructor Description TypeConverterMapping()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
getBoolean(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Obtains a value fromdatastoreResults
at position specified byexprIndex
.byte
getByte(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Obtains a value fromdatastoreResults
at position specified byexprIndex
.char
getChar(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Obtains a value fromdatastoreResults
at position specified byexprIndex
.int
getDefaultLength(int index)
Accessor for the default length for this type in the datastore (if applicable).double
getDouble(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Obtains a value fromdatastoreResults
at position specified byexprIndex
.float
getFloat(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Obtains a value fromdatastoreResults
at position specified byexprIndex
.int
getInt(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Obtains a value fromdatastoreResults
at position specified byexprIndex
.java.lang.Class
getJavaType()
Accessor for the java type being mapped.java.lang.String
getJavaTypeForColumnMapping(int index)
Accessor for the name of the java-type actually used when mapping the particular datastore field.long
getLong(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Obtains a value fromdatastoreResults
at position specified byexprIndex
.protected java.lang.Object
getMemberValueFromDatastore(java.sql.ResultSet resultSet, int[] exprIndex)
Method that retrieves the datastore value and converts it back to the member value.java.lang.Object
getObject(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Obtains a value fromdatastoreResults
at position specified byexprIndex
.short
getShort(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Obtains a value fromdatastoreResults
at position specified byexprIndex
.java.lang.String
getString(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Obtains a value fromdatastoreResults
at position specified byexprIndex
.org.datanucleus.store.types.converters.TypeConverter
getTypeConverter()
void
initialize(org.datanucleus.metadata.AbstractMemberMetaData mmd, Table table, org.datanucleus.ClassLoaderResolver clr)
Initialize this JavaTypeMapping with the given DatastoreAdapter for the given FieldMetaData.void
initialize(org.datanucleus.metadata.AbstractMemberMetaData mmd, Table table, org.datanucleus.ClassLoaderResolver clr, org.datanucleus.store.types.converters.TypeConverter conv)
void
initialize(RDBMSStoreManager storeMgr, java.lang.String type)
Initialise this JavaTypeMapping with the given StoreManager for the given type.void
setBoolean(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, boolean value)
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setByte(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, byte value)
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setChar(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, char value)
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.protected void
setDatastoreFromMemberValue(java.sql.PreparedStatement ps, int[] exprIndex, java.lang.Object memberValue)
Method that takes the member value and sets the datastore value in the PreparedStatement at the specified position.void
setDouble(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, double value)
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setFloat(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, float value)
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setInt(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, int value)
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setLong(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, long value)
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setObject(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, java.lang.Object value)
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setShort(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, short value)
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setString(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, java.lang.String value)
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.-
Methods inherited from class org.datanucleus.store.rdbms.mapping.java.SingleFieldMapping
getValidValues, prepareColumnMapping
-
Methods inherited from class org.datanucleus.store.rdbms.mapping.java.JavaTypeMapping
addColumnMapping, equals, failureMessage, getAbsoluteFieldNumber, getColumnMapping, getColumnMappings, getColumnMetaDataForMember, getMemberMetaData, getNumberOfColumnMappings, getObject, getReferenceMapping, getRoleForMember, getStoreManager, getTable, getType, getValueForColumnMapping, hashCode, hasSimpleDatastoreRepresentation, includeInFetchStatement, includeInInsertStatement, includeInUpdateStatement, isNullable, isSerialised, performSetPostProcessing, representableAsStringLiteralInStatement, requiresSetPostProcessing, setAbsFieldNumber, setMemberMetaData, setObject, setReferenceMapping, setRoleForMember, setTable
-
-
-
-
Method Detail
-
initialize
public void initialize(RDBMSStoreManager storeMgr, java.lang.String type)
Description copied from class:JavaTypeMapping
Initialise this JavaTypeMapping with the given StoreManager for the given type. Used when the mapping is for a parameter in a query. This will not set the "mmd" and "datastoreContainer" parameters. If these are required for usage of the mapping then you should call setFieldInformation(AbstractMemberMetaData, DatastoreContainerObject) below. Subclasses should override this method to perform any datastore initialization operations.- Overrides:
initialize
in classJavaTypeMapping
- Parameters:
storeMgr
- The Datastore Adapter that this Mapping should use.type
- The Class that this mapping maps to the database.
-
initialize
public void initialize(org.datanucleus.metadata.AbstractMemberMetaData mmd, Table table, org.datanucleus.ClassLoaderResolver clr)
Description copied from class:SingleFieldMapping
Initialize this JavaTypeMapping with the given DatastoreAdapter for the given FieldMetaData.- Overrides:
initialize
in classSingleFieldMapping
- Parameters:
mmd
- FieldMetaData for the field to be mapped (if any)table
- The datastore container storing this mapping (if any)clr
- the ClassLoaderResolver
-
initialize
public void initialize(org.datanucleus.metadata.AbstractMemberMetaData mmd, Table table, org.datanucleus.ClassLoaderResolver clr, org.datanucleus.store.types.converters.TypeConverter conv)
-
getTypeConverter
public org.datanucleus.store.types.converters.TypeConverter getTypeConverter()
-
getDefaultLength
public int getDefaultLength(int index)
Description copied from class:SingleFieldMapping
Accessor for the default length for this type in the datastore (if applicable).- Overrides:
getDefaultLength
in classSingleFieldMapping
- Parameters:
index
- requested column index.- Returns:
- Default length
-
getJavaTypeForColumnMapping
public java.lang.String getJavaTypeForColumnMapping(int index)
Description copied from class:SingleFieldMapping
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 classSingleFieldMapping
- Parameters:
index
- requested column index.- Returns:
- the name of java-type for the requested column.
-
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 :- 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.
- Specified by:
getJavaType
in classJavaTypeMapping
- Returns:
- The java type
-
setDatastoreFromMemberValue
protected void setDatastoreFromMemberValue(java.sql.PreparedStatement ps, int[] exprIndex, java.lang.Object memberValue)
Method that takes the member value and sets the datastore value in the PreparedStatement at the specified position.- Parameters:
ps
- The PreparedStatementexprIndex
- The position in the statementmemberValue
- The member value for this field
-
getMemberValueFromDatastore
protected java.lang.Object getMemberValueFromDatastore(java.sql.ResultSet resultSet, int[] exprIndex)
Method that retrieves the datastore value and converts it back to the member value.- Parameters:
resultSet
- The result setexprIndex
- The position in the result set- Returns:
- The member value
-
setBoolean
public void setBoolean(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, boolean value)
Description copied from class:JavaTypeMapping
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.- Overrides:
setBoolean
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextps
- PreparedStatementexprIndex
- the position of the value in the statementvalue
- the value
-
getBoolean
public boolean getBoolean(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Description copied from class:JavaTypeMapping
Obtains a value fromdatastoreResults
at position specified byexprIndex
.- Overrides:
getBoolean
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextresultSet
- ResultSetexprIndex
- the position of the value in the result- Returns:
- the value
-
setByte
public void setByte(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, byte value)
Description copied from class:JavaTypeMapping
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.- Overrides:
setByte
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextps
- PreparedStatementexprIndex
- the position of the value in the statementvalue
- the value
-
getByte
public byte getByte(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Description copied from class:JavaTypeMapping
Obtains a value fromdatastoreResults
at position specified byexprIndex
.- Overrides:
getByte
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextresultSet
- ResultSetexprIndex
- the position of the value in the result- Returns:
- the value
-
setChar
public void setChar(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, char value)
Description copied from class:JavaTypeMapping
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.- Overrides:
setChar
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextps
- PreparedStatementexprIndex
- the position of the value in the statementvalue
- the value
-
getChar
public char getChar(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Description copied from class:JavaTypeMapping
Obtains a value fromdatastoreResults
at position specified byexprIndex
.- Overrides:
getChar
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextresultSet
- ResultSetexprIndex
- the position of the value in the result- Returns:
- the value
-
setDouble
public void setDouble(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, double value)
Description copied from class:JavaTypeMapping
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.- Overrides:
setDouble
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextps
- PreparedStatementexprIndex
- the position of the value in the statementvalue
- the value
-
getDouble
public double getDouble(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Description copied from class:JavaTypeMapping
Obtains a value fromdatastoreResults
at position specified byexprIndex
.- Overrides:
getDouble
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextresultSet
- ResultSetexprIndex
- the position of the value in the result- Returns:
- the value
-
setFloat
public void setFloat(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, float value)
Description copied from class:JavaTypeMapping
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.- Overrides:
setFloat
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextps
- PreparedStatementexprIndex
- the position of the value in the statementvalue
- the value
-
getFloat
public float getFloat(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Description copied from class:JavaTypeMapping
Obtains a value fromdatastoreResults
at position specified byexprIndex
.- Overrides:
getFloat
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextresultSet
- ResultSetexprIndex
- the position of the value in the result- Returns:
- the value
-
setInt
public void setInt(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, int value)
Description copied from class:JavaTypeMapping
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.- Overrides:
setInt
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextps
- PreparedStatementexprIndex
- the position of the value in the statementvalue
- the value
-
getInt
public int getInt(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Description copied from class:JavaTypeMapping
Obtains a value fromdatastoreResults
at position specified byexprIndex
.- Overrides:
getInt
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextresultSet
- ResultSetexprIndex
- the position of the value in the result- Returns:
- the value
-
setLong
public void setLong(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, long value)
Description copied from class:JavaTypeMapping
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.- Overrides:
setLong
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextps
- PreparedStatementexprIndex
- the position of the value in the statementvalue
- the value
-
getLong
public long getLong(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Description copied from class:JavaTypeMapping
Obtains a value fromdatastoreResults
at position specified byexprIndex
.- Overrides:
getLong
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextresultSet
- ResultSetexprIndex
- the position of the value in the result- Returns:
- the value
-
setShort
public void setShort(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, short value)
Description copied from class:JavaTypeMapping
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.- Overrides:
setShort
in classSingleFieldMapping
- Parameters:
ec
- execution contextps
- PreparedStatementexprIndex
- the position of the value in the statementvalue
- the value
-
getShort
public short getShort(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Description copied from class:JavaTypeMapping
Obtains a value fromdatastoreResults
at position specified byexprIndex
.- Overrides:
getShort
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextresultSet
- ResultSetexprIndex
- the position of the value in the result- Returns:
- the value
-
setString
public void setString(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, java.lang.String value)
Description copied from class:JavaTypeMapping
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.- Overrides:
setString
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextps
- PreparedStatementexprIndex
- the position of the value in the statementvalue
- the value
-
getString
public java.lang.String getString(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Description copied from class:JavaTypeMapping
Obtains a value fromdatastoreResults
at position specified byexprIndex
.- Overrides:
getString
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextresultSet
- ResultSetexprIndex
- the position of the value in the result- Returns:
- the value
-
setObject
public void setObject(org.datanucleus.ExecutionContext ec, java.sql.PreparedStatement ps, int[] exprIndex, java.lang.Object value)
Description copied from class:JavaTypeMapping
Sets avalue
intodatastoreStatement
at position specified byexprIndex
.- Overrides:
setObject
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextps
- PreparedStatementexprIndex
- the position of the value in the statementvalue
- the value
-
getObject
public java.lang.Object getObject(org.datanucleus.ExecutionContext ec, java.sql.ResultSet resultSet, int[] exprIndex)
Description copied from class:JavaTypeMapping
Obtains a value fromdatastoreResults
at position specified byexprIndex
.- Overrides:
getObject
in classSingleFieldMapping
- Parameters:
ec
- ExecutionContextresultSet
- ResultSetexprIndex
- the position of the value in the result- Returns:
- the value
-
-