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
Mapping where the member has its value converted to/from some storable datastore type using a TypeConverter.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) org.datanucleus.store.types.converters.TypeConverter
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 -
Method Summary
Modifier and TypeMethodDescriptionboolean
getBoolean
(org.datanucleus.ExecutionContext ec, ResultSet resultSet, int[] exprIndex) Obtains a value fromdatastoreResults
at position specified byexprIndex
.byte
Obtains a value fromdatastoreResults
at position specified byexprIndex
.char
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
Obtains a value fromdatastoreResults
at position specified byexprIndex
.float
Obtains a value fromdatastoreResults
at position specified byexprIndex
.int
Obtains a value fromdatastoreResults
at position specified byexprIndex
.Accessor for the java type being mapped.getJavaTypeForColumnMapping
(int index) Accessor for the name of the java-type actually used when mapping the particular datastore field.long
Obtains a value fromdatastoreResults
at position specified byexprIndex
.protected Object
getMemberValueFromDatastore
(ResultSet resultSet, int[] exprIndex) Method that retrieves the datastore value and converts it back to the member value.Obtains a value fromdatastoreResults
at position specified byexprIndex
.short
Obtains a value fromdatastoreResults
at position specified byexprIndex
.Obtains a value fromdatastoreResults
at position specified byexprIndex
.org.datanucleus.store.types.converters.TypeConverter
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, String type) Initialise this JavaTypeMapping with the given StoreManager for the given type.void
setBoolean
(org.datanucleus.ExecutionContext ec, PreparedStatement ps, int[] exprIndex, boolean value) Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setByte
(org.datanucleus.ExecutionContext ec, PreparedStatement ps, int[] exprIndex, byte value) Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setChar
(org.datanucleus.ExecutionContext ec, PreparedStatement ps, int[] exprIndex, char value) Sets avalue
intodatastoreStatement
at position specified byexprIndex
.protected void
setDatastoreFromMemberValue
(PreparedStatement ps, int[] exprIndex, 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, PreparedStatement ps, int[] exprIndex, double value) Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setFloat
(org.datanucleus.ExecutionContext ec, PreparedStatement ps, int[] exprIndex, float value) Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setInt
(org.datanucleus.ExecutionContext ec, PreparedStatement ps, int[] exprIndex, int value) Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setLong
(org.datanucleus.ExecutionContext ec, PreparedStatement ps, int[] exprIndex, long value) Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setObject
(org.datanucleus.ExecutionContext ec, PreparedStatement ps, int[] exprIndex, Object value) Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setShort
(org.datanucleus.ExecutionContext ec, PreparedStatement ps, int[] exprIndex, short value) Sets avalue
intodatastoreStatement
at position specified byexprIndex
.void
setString
(org.datanucleus.ExecutionContext ec, PreparedStatement ps, int[] exprIndex, 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
-
Field Details
-
converter
org.datanucleus.store.types.converters.TypeConverter converter
-
-
Constructor Details
-
TypeConverterMapping
public TypeConverterMapping()
-
-
Method Details
-
initialize
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
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
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(PreparedStatement ps, int[] exprIndex, 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
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, 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, 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, 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
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, 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
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, 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
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, 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
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, 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
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, 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
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, 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
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, PreparedStatement ps, int[] exprIndex, 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
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, PreparedStatement ps, int[] exprIndex, 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
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
-