Class TimestampColumnMapping
java.lang.Object
org.datanucleus.store.rdbms.mapping.column.AbstractColumnMapping
org.datanucleus.store.rdbms.mapping.column.TimestampColumnMapping
- All Implemented Interfaces:
ColumnMapping
Mapping of a TIMESTAMP column.
-
Field Summary
Fields inherited from class org.datanucleus.store.rdbms.mapping.column.AbstractColumnMapping
column, mapping, storeMgr
-
Constructor Summary
ConstructorsConstructorDescriptionTimestampColumnMapping
(JavaTypeMapping mapping, RDBMSStoreManager storeMgr, Column col) -
Method Summary
Modifier and TypeMethodDescriptionprivate static int[]
Convenience method to convert a String containing numbers (separated by assorted characters) into an int array.int
Method to return the java.sql.Types type that this relates to.Method to access an Object from the ResultSet.protected Timestamp
getTimestamp
(ResultSet rs, int param) Method to access a Timestamp from the ResultSet.private void
void
setObject
(PreparedStatement ps, int param, Object value) Method to set an object in a PreparedStatement for sending to the datastore.private static Timestamp
stringToTimestamp
(String s, 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 Details
-
TimestampColumnMapping
-
-
Method Details
-
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
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
Method to access a Timestamp from the ResultSet.- Parameters:
rs
- The ResultSetparam
- The parameter position in the ResultSet row.- Returns:
- The Timestamp object
-
getObject
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
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:
IllegalArgumentException
- Thrown if the format of the String is invalid
-
convertStringToIntArray
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
-