public class SimpleDateCodec extends TypeCodec.PrimitiveIntCodec
TypeCodec that maps CQL dates to Java primitive ints,
representing the number of days since the Epoch.
This codec can serve as a replacement for the driver's built-in
date codec,
when application code prefers to deal with raw days than with
LocalDate instances.
Important: this codec cannot work with SimpleStatements!
If you try to insert CQL date values as ints in a SimpleStatement,
the insertion would succeed but the values wouldn't be properly encoded.
Always use PreparedStatements when using this codec.TypeCodec.AbstractCollectionCodec<E,C extends Collection<E>>, TypeCodec.AbstractMapCodec<K,V>, TypeCodec.AbstractTupleCodec<T>, TypeCodec.AbstractUDTCodec<T>, TypeCodec.PrimitiveBooleanCodec, TypeCodec.PrimitiveByteCodec, TypeCodec.PrimitiveDoubleCodec, TypeCodec.PrimitiveFloatCodec, TypeCodec.PrimitiveIntCodec, TypeCodec.PrimitiveLongCodec, TypeCodec.PrimitiveShortCodec| Modifier and Type | Field and Description |
|---|---|
static SimpleDateCodec |
instance |
| Constructor and Description |
|---|
SimpleDateCodec() |
| Modifier and Type | Method and Description |
|---|---|
int |
deserializeNoBoxing(ByteBuffer bytes,
ProtocolVersion protocolVersion) |
String |
format(Integer value)
Format the given value as a valid CQL literal according
to the CQL type handled by this codec.
|
Integer |
parse(String value)
Parse the given CQL literal into an instance of the Java type
handled by this codec.
|
ByteBuffer |
serializeNoBoxing(int value,
ProtocolVersion protocolVersion) |
deserialize, serializeaccepts, accepts, accepts, accepts, ascii, bigint, blob, cboolean, cdouble, cfloat, cint, counter, custom, date, decimal, duration, getCqlType, getJavaType, inet, list, map, set, smallInt, time, timestamp, timeUUID, tinyInt, toString, tuple, userType, uuid, varchar, varintpublic static final SimpleDateCodec instance
public ByteBuffer serializeNoBoxing(int value, ProtocolVersion protocolVersion)
serializeNoBoxing in class TypeCodec.PrimitiveIntCodecpublic int deserializeNoBoxing(ByteBuffer bytes, ProtocolVersion protocolVersion)
deserializeNoBoxing in class TypeCodec.PrimitiveIntCodecpublic Integer parse(String value)
TypeCodec"NULL";
in most cases, implementations should interpret these inputs has equivalent to a null
reference.
Implementing this method is not strictly mandatory: internally, the driver only uses it to
parse the INITCOND when building the metadata of an aggregate function (and in most cases it
will use a built-in codec, unless the INITCOND has a custom type).public String format(Integer value)
TypeCodec"NULL" for null inputs.
Implementing this method is not strictly mandatory. It is used:
BuiltStatement for a detailed
explanation of when this happens);QueryLogger, if parameter logging is enabled;AggregateMetadata.asCQLQuery(boolean);toString() implementation of some objects (UDTValue,
TupleValue, and the internal representation of a ROWS response),
which may appear in driver logs.Copyright © 2012–2017. All rights reserved.