E - The Java array component type this codec handlespublic class ObjectArrayCodec<E> extends AbstractArrayCodec<E[]>
list<text> to String[],
declare the following:
ObjectArrayCodec<String> stringArrayCodec = new ObjectArrayCodec<>(
DataType.list(DataType.varchar()),
String[].class,
TypeCodec.varchar());
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| Constructor and Description |
|---|
ObjectArrayCodec(DataType.CollectionType cqlType,
Class<E[]> javaClass,
TypeCodec<E> eltCodec) |
| Modifier and Type | Method and Description |
|---|---|
E[] |
deserialize(ByteBuffer bytes,
ProtocolVersion protocolVersion)
Deserialize the given
ByteBuffer instance according to the CQL type
handled by this codec. |
protected void |
formatElement(StringBuilder output,
E[] array,
int index)
Format the
indexth element of array to output. |
protected E[] |
newInstance(int size)
Create a new array instance with the given size.
|
protected void |
parseElement(String input,
E[] array,
int index)
Parse the
indexth element of array from input. |
ByteBuffer |
serialize(E[] value,
ProtocolVersion protocolVersion)
Serialize the given value according to the CQL type
handled by this codec.
|
format, parseaccepts, 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 ObjectArrayCodec(DataType.CollectionType cqlType, Class<E[]> javaClass, TypeCodec<E> eltCodec)
public ByteBuffer serialize(E[] value, ProtocolVersion protocolVersion)
TypeCodecnull input as
the equivalent of an empty collection.serialize in class TypeCodec<E[]>value - An instance of T; may be null.protocolVersion - the protocol version to use when serializing
bytes. In most cases, the proper value to provide for this argument
is the value returned by ProtocolOptions.getProtocolVersion() (which
is the protocol version in use by the driver).ByteBuffer instance containing the serialized form of Tpublic E[] deserialize(ByteBuffer bytes, ProtocolVersion protocolVersion)
TypeCodecByteBuffer instance according to the CQL type
handled by this codec.
Implementation notes:
null or a default value for the corresponding Java type, if applicable;null;
they should return empty collections instead (the driver's default collection codecs all comply with this rule).ByteBuffer should never be consumed by read operations that
modify its current position; if necessary,
ByteBuffer.duplicate() duplicate} it before consuming.deserialize in class TypeCodec<E[]>bytes - A ByteBuffer instance containing the serialized form of T;
may be null or empty.protocolVersion - the protocol version to use when serializing
bytes. In most cases, the proper value to provide for this argument
is the value returned by ProtocolOptions.getProtocolVersion() (which
is the protocol version in use by the driver).protected void formatElement(StringBuilder output, E[] array, int index)
AbstractArrayCodecindexth element of array to output.formatElement in class AbstractArrayCodec<E[]>output - The StringBuilder to write to.array - The array to read from.index - The element index.protected void parseElement(String input, E[] array, int index)
AbstractArrayCodecindexth element of array from input.parseElement in class AbstractArrayCodec<E[]>input - The String to read from.array - The array to write to.index - The element index.protected E[] newInstance(int size)
AbstractArrayCodecnewInstance in class AbstractArrayCodec<E[]>size - The size of the array to instantiate.Copyright © 2012–2018. All rights reserved.