Package uk.ac.starlink.table.jdbc
Class TypeMappers
java.lang.Object
uk.ac.starlink.table.jdbc.TypeMappers
TypeMapper implementation classes.
- Since:
- 2 Feb 2010
- Author:
- Mark Taylor
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final TypeMapper
TypeMapper implementation likeSTANDARD
, but which uses a 'T' character as the separator between the date and time parts of timestamp serializations.static final TypeMapper
TypeMapper implementation which performs no conversions.static final TypeMapper
TypeMapper implementation which performs generally useful conversions. -
Method Summary
Modifier and TypeMethodDescriptionstatic ValueHandler
createIdentityValueHandler
(ResultSetMetaData meta, int jcol1) Constructs a new ValueHandler which performs no conversions.static ValueHandler
createStringValueHandler
(ResultSetMetaData meta, int jcol1) Constructs a new ValueHandler which converts values to Strings.static ValueHandler
createTimestampValueHandler
(ResultSetMetaData meta, int jcol1, char dateTimeSeparator) Constructs a new ValueHandler which converts JDBC Timestamp values to Strings, with a configurable date/time separator character.
-
Field Details
-
STANDARD
TypeMapper implementation which performs generally useful conversions. In particular,Date
subclasses (includingjava.sql.Date
,java.sql.Time
andjava.sql.Timestamp
are turned into Strings, using JDBC timestamp escape format (which is ISO-8601 with a space character separating date and time). The intention is that by using this implementation you will get an output table which can be written using non-specialist output formats such as FITS and VOTable. -
DALI
TypeMapper implementation likeSTANDARD
, but which uses a 'T' character as the separator between the date and time parts of timestamp serializations. Use of the 'T' separator is mandated by the Data Access Layer Interface standard v1.0, section 3.1.2 (http://www.ivoa.net/documents/DALI/), and so is appropriate for output from VO services such as TAP. -
IDENTITY
TypeMapper implementation which performs no conversions. The output types are just as JDBC provides them.
-
-
Method Details
-
createIdentityValueHandler
public static ValueHandler createIdentityValueHandler(ResultSetMetaData meta, int jcol1) throws SQLException Constructs a new ValueHandler which performs no conversions.- Parameters:
meta
- JDBC metadata objectjcol1
- JDBC column index (first column is 1)- Throws:
SQLException
-
createStringValueHandler
public static ValueHandler createStringValueHandler(ResultSetMetaData meta, int jcol1) throws SQLException Constructs a new ValueHandler which converts values to Strings.- Parameters:
meta
- JDBC metadata objectjcol1
- JDBC column index (first column is 1)- Throws:
SQLException
-
createTimestampValueHandler
public static ValueHandler createTimestampValueHandler(ResultSetMetaData meta, int jcol1, char dateTimeSeparator) throws SQLException Constructs a new ValueHandler which converts JDBC Timestamp values to Strings, with a configurable date/time separator character. The input values are assumed to be of typeTimestamp
.- Parameters:
meta
- JDBC metadata objectjcol1
- JDBC column index (first column is 1)dateTimeSeparator
- separator character between date and time parts of ISO-8601 string; usually either ' ' or 'T'- Throws:
SQLException
-