Class TimestampColumnMapping
- java.lang.Object
-
- org.datanucleus.store.rdbms.mapping.column.AbstractColumnMapping
-
- org.datanucleus.store.rdbms.mapping.column.TimestampColumnMapping
-
- All Implemented Interfaces:
ColumnMapping
public class TimestampColumnMapping extends AbstractColumnMapping
Mapping of a TIMESTAMP column.
-
-
Field Summary
-
Fields inherited from class org.datanucleus.store.rdbms.mapping.column.AbstractColumnMapping
column, mapping, storeMgr
-
-
Constructor Summary
Constructors Constructor Description TimestampColumnMapping(JavaTypeMapping mapping, RDBMSStoreManager storeMgr, Column col)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static int[]
convertStringToIntArray(java.lang.String str)
Convenience method to convert a String containing numbers (separated by assorted characters) into an int array.int
getJDBCType()
Method to return the java.sql.Types type that this relates to.java.lang.Object
getObject(java.sql.ResultSet rs, int param)
Method to access an Object from the ResultSet.protected java.sql.Timestamp
getTimestamp(java.sql.ResultSet rs, int param)
Method to access a Timestamp from the ResultSet.private void
initialize()
void
setObject(java.sql.PreparedStatement ps, int param, java.lang.Object value)
Method to set an object in a PreparedStatement for sending to the datastore.private static java.sql.Timestamp
stringToTimestamp(java.lang.String s, java.util.Calendar cal)
Converts a string in JDBC timestamp escape format to a Timestamp object.-
Methods inherited from class org.datanucleus.store.rdbms.mapping.column.AbstractColumnMapping
equals, failureMessage, failureMessage, failureMessage, getBoolean, getByte, getChar, getColumn, getDatastoreAdapter, getDouble, getFloat, getInsertionInputParameter, getInt, getJavaTypeMapping, getLong, getShort, getString, getTypeInfo, getUpdateInputParameter, hashCode, includeInFetchStatement, initTypeInfo, insertValuesOnInsert, isBitBased, isBooleanBased, isDecimalBased, isIntegerBased, isNullable, isStringBased, setBoolean, setByte, setChar, setDouble, setFloat, setInt, setLong, setShort, setString, useDefaultWhenNull
-
-
-
-
Constructor Detail
-
TimestampColumnMapping
public TimestampColumnMapping(JavaTypeMapping mapping, RDBMSStoreManager storeMgr, Column col)
-
-
Method Detail
-
initialize
private void initialize()
-
getJDBCType
public int getJDBCType()
Description copied from class:AbstractColumnMapping
Method to return the java.sql.Types type that this relates to.- Specified by:
getJDBCType
in classAbstractColumnMapping
- Returns:
- The JDBC "type"
-
setObject
public void setObject(java.sql.PreparedStatement ps, int param, java.lang.Object value)
Method to set an object in a PreparedStatement for sending to the datastore.- Specified by:
setObject
in interfaceColumnMapping
- Overrides:
setObject
in classAbstractColumnMapping
- Parameters:
ps
- The PreparedStatementparam
- The parameter position (in the statement)value
- The value to set
-
getTimestamp
protected java.sql.Timestamp getTimestamp(java.sql.ResultSet rs, int param)
Method to access a Timestamp from the ResultSet.- Parameters:
rs
- The ResultSetparam
- The parameter position in the ResultSet row.- Returns:
- The Timestamp object
-
getObject
public java.lang.Object getObject(java.sql.ResultSet rs, int param)
Method to access an Object from the ResultSet.- Specified by:
getObject
in interfaceColumnMapping
- Overrides:
getObject
in classAbstractColumnMapping
- Parameters:
rs
- The ResultSetparam
- The parameter position in the ResultSet row.- Returns:
- The Object
-
stringToTimestamp
private static java.sql.Timestamp stringToTimestamp(java.lang.String s, java.util.Calendar cal)
Converts a string in JDBC timestamp escape format to a Timestamp object. To be precise, we prefer to find a JDBC escape type sequence in the format "yyyy-mm-dd hh:mm:ss.fffffffff", but this does not accept other separators of fields, so as long as the numbers are in the order year, month, day, hour, minute, second then we accept it.- Parameters:
s
- Timestamp stringcal
- The Calendar to use for conversion- Returns:
- Corresponding java.sql.Timestamp value.
- Throws:
java.lang.IllegalArgumentException
- Thrown if the format of the String is invalid
-
convertStringToIntArray
private static int[] convertStringToIntArray(java.lang.String str)
Convenience method to convert a String containing numbers (separated by assorted characters) into an int array. The separators can be ' ' '-' ':' '.' ',' etc.- Parameters:
str
- The String- Returns:
- The int array
-
-