public class DateTimeCodec extends com.datastax.driver.core.TypeCodec.AbstractTupleCodec<DateTime>
TypeCodec that maps
DateTime to CQL tuple<timestamp,varchar>,
providing a pattern for maintaining timezone information in
Cassandra.
Since Cassandra's timestamp type preserves only
milliseconds since epoch, any timezone information
would normally be lost. By using a
tuple<timestamp,varchar> a timezone ID can be
persisted in the varchar field such that when the
value is deserialized the timezone is
preserved.
IMPORTANT: this codec's format method formats
timestamps using an ISO-8601 format that includes nanoseconds.
This format is incompatible with Cassandra versions < 2.0.9.com.datastax.driver.core.TypeCodec.AbstractCollectionCodec<E,C extends Collection<E>>, com.datastax.driver.core.TypeCodec.AbstractMapCodec<K,V>, com.datastax.driver.core.TypeCodec.AbstractTupleCodec<T>, com.datastax.driver.core.TypeCodec.AbstractUDTCodec<T>, com.datastax.driver.core.TypeCodec.PrimitiveBooleanCodec, com.datastax.driver.core.TypeCodec.PrimitiveByteCodec, com.datastax.driver.core.TypeCodec.PrimitiveDoubleCodec, com.datastax.driver.core.TypeCodec.PrimitiveFloatCodec, com.datastax.driver.core.TypeCodec.PrimitiveIntCodec, com.datastax.driver.core.TypeCodec.PrimitiveLongCodec, com.datastax.driver.core.TypeCodec.PrimitiveShortCodec| Constructor and Description |
|---|
DateTimeCodec(com.datastax.driver.core.TupleType tupleType) |
| Modifier and Type | Method and Description |
|---|---|
protected DateTime |
deserializeAndSetField(ByteBuffer input,
DateTime target,
int index,
com.datastax.driver.core.ProtocolVersion protocolVersion) |
protected String |
formatField(DateTime value,
int index) |
protected DateTime |
newInstance() |
protected DateTime |
parseAndSetField(String input,
DateTime target,
int index) |
protected ByteBuffer |
serializeField(DateTime source,
int index,
com.datastax.driver.core.ProtocolVersion protocolVersion) |
accepts, deserialize, format, parse, serializeaccepts, accepts, accepts, ascii, bigint, blob, cboolean, cdouble, cfloat, cint, counter, custom, date, decimal, getCqlType, getJavaType, inet, list, map, set, smallInt, time, timestamp, timeUUID, tinyInt, toString, tuple, userType, uuid, varchar, varintprotected DateTime newInstance()
newInstance in class com.datastax.driver.core.TypeCodec.AbstractTupleCodec<DateTime>protected ByteBuffer serializeField(DateTime source, int index, com.datastax.driver.core.ProtocolVersion protocolVersion)
serializeField in class com.datastax.driver.core.TypeCodec.AbstractTupleCodec<DateTime>protected DateTime deserializeAndSetField(ByteBuffer input, DateTime target, int index, com.datastax.driver.core.ProtocolVersion protocolVersion)
deserializeAndSetField in class com.datastax.driver.core.TypeCodec.AbstractTupleCodec<DateTime>protected String formatField(DateTime value, int index)
formatField in class com.datastax.driver.core.TypeCodec.AbstractTupleCodec<DateTime>Copyright © 2012–2018. All rights reserved.