public class TypedValue extends Object
There are 3 representations:
The following table shows the Java type(s) that may represent each SQL type in each representation.
| Type | JDBC | Serial | Local |
|---|---|---|---|
| BOOLEAN | boolean | boolean | boolean |
| BINARY, VARBINARY | byte[] | String (base64) | ByteString |
| DATE | Date |
int | int |
| TIME | Time |
int | int |
| DATE | Timestamp |
long | long |
| CHAR, VARCHAR | String | String | String |
| TINYINT | byte | Number | byte |
| SMALLINT | short | Number | short |
| INTEGER | int | Number | int |
| BIGINT | long | Number | long |
| REAL | float | Number | float |
| FLOAT, DOUBLE | double | Number | double |
| DECIMAL | BigDecimal | Number | BigDecimal |
Number in serial format because
JSON numbers are not strongly typed. A float value 3.0 is
transmitted as 3, and is therefore decoded as an int.
Date, Time, Timestamp,
all sub-classes of Date. When they are passed to and
from the server, they are interpreted in terms of a time zone, by default
the current connection's time zone. Their serial and local representations
as int (days since 1970-01-01 for DATE, milliseconds since
00:00:00.000 for TIME), and long (milliseconds since 1970-01-01
00:00:00.000 for TIMESTAMP) are easier to work with, because it is clear
that time zone is not involved.
| Modifier and Type | Field and Description |
|---|---|
static TypedValue |
NULL |
ColumnMetaData.Rep |
type
Type of the value.
|
Object |
value
Value.
|
| Modifier and Type | Method and Description |
|---|---|
static TypedValue |
create(String type,
Object value) |
static TypedValue |
ofJdbc(ColumnMetaData.Rep rep,
Object value,
Calendar calendar)
Creates a TypedValue from a value in JDBC representation.
|
static TypedValue |
ofJdbc(Object value,
Calendar calendar)
Creates a TypedValue from a value in JDBC representation,
deducing its type.
|
static TypedValue |
ofLocal(ColumnMetaData.Rep rep,
Object value)
Creates a TypedValue from a value in local representation.
|
static TypedValue |
ofSerial(ColumnMetaData.Rep rep,
Object value)
Creates a TypedValue from a value in serial representation.
|
Object |
toJdbc(Calendar calendar)
Converts the value into the JDBC representation.
|
Object |
toLocal()
Converts the value into the local representation.
|
static List<Object> |
values(List<TypedValue> typedValues)
Converts a list of
TypedValue to a list of values. |
public static final TypedValue NULL
public final ColumnMetaData.Rep type
public final Object value
Always in a form that can be serialized to JSON by Jackson. For example, byte arrays are represented as String.
public static TypedValue create(String type, Object value)
public static TypedValue ofLocal(ColumnMetaData.Rep rep, Object value)
public static TypedValue ofSerial(ColumnMetaData.Rep rep, Object value)
public static TypedValue ofJdbc(ColumnMetaData.Rep rep, Object value, Calendar calendar)
public static TypedValue ofJdbc(Object value, Calendar calendar)
public Object toLocal()
For example, a byte string is represented as a ByteString;
a long is represented as a Long (not just some Number).
public Object toJdbc(Calendar calendar)
For example, a byte string is represented as a ByteString;
a long is represented as a Long (not just some Number).
public static List<Object> values(List<TypedValue> typedValues)
TypedValue to a list of values.Copyright © 2012–2015 The Apache Software Foundation. All rights reserved.