public class TypeMappers extends Object
Modifier and Type | Field and Description |
---|---|
static TypeMapper |
DALI
TypeMapper implementation like
STANDARD , but which uses
a 'T' character as the separator between the date and time parts
of timestamp serializations. |
static TypeMapper |
IDENTITY
TypeMapper implementation which performs no conversions.
|
static TypeMapper |
STANDARD
TypeMapper implementation which performs generally useful conversions.
|
Modifier and Type | Method and Description |
---|---|
static <T> ValueHandler |
createArrayValueHandler(ResultSetMetaData meta,
int jcol1,
Class<T> arrayClazz)
Constructs a new ValueHandler which converts JDBC Array values
to java array objects of a specific type.
|
static 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.
|
static Class<?> |
getArrayClass(ResultSetMetaData meta,
int jcol1)
Tries to guess a suitable output value type for an array-valued
column in a ResultSet.
|
public static final TypeMapper STANDARD
Date
subclasses (including
java.sql.Date
, java.sql.Time
and
java.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.public static final TypeMapper DALI
STANDARD
, 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.public static final TypeMapper IDENTITY
public static ValueHandler createIdentityValueHandler(ResultSetMetaData meta, int jcol1) throws SQLException
meta
- JDBC metadata objectjcol1
- JDBC column index (first column is 1)SQLException
public static ValueHandler createStringValueHandler(ResultSetMetaData meta, int jcol1) throws SQLException
meta
- JDBC metadata objectjcol1
- JDBC column index (first column is 1)SQLException
public static ValueHandler createTimestampValueHandler(ResultSetMetaData meta, int jcol1, char dateTimeSeparator) throws SQLException
Timestamp
.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'SQLException
public static <T> ValueHandler createArrayValueHandler(ResultSetMetaData meta, int jcol1, Class<T> arrayClazz) throws SQLException
ResultSetMetaData.getColumnClassName(int)
returns "java.sql.Array
".
The required output class arrayClazz
must be specified explicitly.
If this class not a good match for the payload of the
Array
values, value conversion won't work very well.
The method getArrayClass
can be used to
guess a good value for this parameter.
meta
- JDBC metadata objectjcol1
- JDBC column index (first column is 1)arrayClazz
- required output typeSQLException
public static Class<?> getArrayClass(ResultSetMetaData meta, int jcol1)
meta
- JDBC metadata objectjcol1
- JDBC column index (first column is 1)Copyright © 2024 Central Laboratory of the Research Councils. All Rights Reserved.