org.datanucleus.store.mapped.mapping
Class ObjectAsTimestampMapping

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.ObjectAsTimestampMapping

public abstract class ObjectAsTimestampMapping
extends SingleFieldMapping

Abstract SCO mapping for a java type that will be stored as a Timestamp type.


Field Summary
 
Fields inherited from class org.datanucleus.store.mapped.mapping.JavaTypeMapping
datastoreContainer, datastoreMappings, LOCALISER, mmd, referenceMapping, roleForMember, storeMgr, type
 
Constructor Summary
ObjectAsTimestampMapping()
           
 
Method Summary
abstract  java.lang.Class getJavaType()
          Method to return the Java type.
 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 get the object from the datastore and convert to an object.
 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.
protected abstract  java.sql.Timestamp objectToTimestamp(java.lang.Object object)
          Method to set the datastore value based on the object value.
 void setObject(ObjectManager om, java.lang.Object preparedStatement, int[] exprIndex, java.lang.Object value)
          Method to set the object when updating the the datastore.
protected abstract  java.lang.Object timestampToObject(java.sql.Timestamp datastoreValue)
          Method to extract the objects value from the datastore object.
 
Methods inherited from class org.datanucleus.store.mapped.mapping.SingleFieldMapping
equals, getBoolean, getByte, getChar, getDefaultLength, getDouble, getFloat, getInt, getLong, getShort, getString, getValidValues, initialize, 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, getSampleValue, 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
 

Constructor Detail

ObjectAsTimestampMapping

public ObjectAsTimestampMapping()
Method Detail

getJavaType

public abstract java.lang.Class getJavaType()
Method to return the Java type.

Specified by:
getJavaType in class JavaTypeMapping
Returns:
The Java type being represented.

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.

setObject

public void setObject(ObjectManager om,
                      java.lang.Object preparedStatement,
                      int[] exprIndex,
                      java.lang.Object value)
Method to set the object when updating the the datastore.

Overrides:
setObject in class SingleFieldMapping
Parameters:
om - the ObjectManager
preparedStatement - a datastore object that executes statements in the database
exprIndex - the position of the value in the statement
value - the value
See Also:
SingleFieldMapping.setObject(org.datanucleus.ObjectManager, java.lang.Object, int[], java.lang.Object)

getObject

public java.lang.Object getObject(ObjectManager om,
                                  java.lang.Object resultSet,
                                  int[] exprIndex)
Method to get the object from the datastore and convert to an object.

Overrides:
getObject in class SingleFieldMapping
Parameters:
om - the ObjectManager
resultSet - an object returned from the datastore with values
exprIndex - the position of the value in the result
Returns:
the value
See Also:
SingleFieldMapping.getObject(org.datanucleus.ObjectManager, java.lang.Object, int[])

objectToTimestamp

protected abstract java.sql.Timestamp objectToTimestamp(java.lang.Object object)
Method to set the datastore value based on the object value.

Parameters:
object - The object
Returns:
The value to pass to the datastore

timestampToObject

protected abstract java.lang.Object timestampToObject(java.sql.Timestamp datastoreValue)
Method to extract the objects value from the datastore object.

Parameters:
datastoreValue - Value obtained from the datastore
Returns:
The value of this object (derived from the datastore 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.