Interface GettableByIndexData
-
- All Known Subinterfaces:
GettableData
- All Known Implementing Classes:
AbstractGettableData,TupleValue,UDTValue
public interface GettableByIndexDataCollection of (typed) CQL values that can be retrieved by index (starting at zero).
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T> Tget(int i, com.google.common.reflect.TypeToken<T> targetType)Returns theith value converted to the given Java type.<T> Tget(int i, java.lang.Class<T> targetClass)Returns theith value converted to the given Java type.<T> Tget(int i, TypeCodec<T> codec)Returns theith value converted using the givenTypeCodec.booleangetBool(int i)Returns theith value as a boolean.bytegetByte(int i)Returns theith value as a byte.java.nio.ByteBuffergetBytes(int i)Returns theith value as a byte array.java.nio.ByteBuffergetBytesUnsafe(int i)Returns theith value as aByteBuffer.LocalDategetDate(int i)Returns theith value as a date (without time).java.math.BigDecimalgetDecimal(int i)Returns theith value as a variable length decimal.doublegetDouble(int i)Returns theith value as a double.floatgetFloat(int i)Returns theith value as a float.java.net.InetAddressgetInet(int i)Returns theith value as an InetAddress.intgetInt(int i)Returns theith value as an integer.<T> java.util.List<T>getList(int i, com.google.common.reflect.TypeToken<T> elementsType)Returns theith value as a list.<T> java.util.List<T>getList(int i, java.lang.Class<T> elementsClass)Returns theith value as a list.longgetLong(int i)Returns theith value as a long.<K,V>
java.util.Map<K,V>getMap(int i, com.google.common.reflect.TypeToken<K> keysType, com.google.common.reflect.TypeToken<V> valuesType)Returns theith value as a map.<K,V>
java.util.Map<K,V>getMap(int i, java.lang.Class<K> keysClass, java.lang.Class<V> valuesClass)Returns theith value as a map.java.lang.ObjectgetObject(int i)Returns theith value as the Java type matching its CQL type.<T> java.util.Set<T>getSet(int i, com.google.common.reflect.TypeToken<T> elementsType)Returns theith value as a set.<T> java.util.Set<T>getSet(int i, java.lang.Class<T> elementsClass)Returns theith value as a set.shortgetShort(int i)Returns theith value as a short.java.lang.StringgetString(int i)Returns theith value as a string.longgetTime(int i)Returns theith value as a long in nanoseconds since midnight.java.util.DategetTimestamp(int i)Returns theith value as a date.TupleValuegetTupleValue(int i)Return theith value as a tuple value.UDTValuegetUDTValue(int i)Return theith value as a UDT value.java.util.UUIDgetUUID(int i)Returns theith value as a UUID.java.math.BigIntegergetVarint(int i)Returns theith value as a variable length integer.booleanisNull(int i)Returns whether theith value is NULL.
-
-
-
Method Detail
-
isNull
boolean isNull(int i)
Returns whether theith value is NULL.- Parameters:
i- the index (0 <= i < size()) of the value to check.- Returns:
- whether the
ith value is NULL. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.
-
getBool
boolean getBool(int i)
Returns theith value as a boolean.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a Javaboolean(for CQL typeboolean, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the boolean value of the
ith element. If the value is NULL,falseis returned. If you need to distinguish NULL and false values, check first withisNull(int)or useget(i, Boolean.class). - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a boolean.
-
getByte
byte getByte(int i)
Returns theith value as a byte.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a Javabyte(for CQL typetinyint, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a byte. If the value is NULL,0is returned. If you need to distinguish NULL and 0, check first withisNull(int)or useget(i, Byte.class). - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a byte.
-
getShort
short getShort(int i)
Returns theith value as a short.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a Javashort(for CQL typesmallint, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a short. If the value is NULL,0is returned. If you need to distinguish NULL and 0, check first withisNull(int)or useget(i, Short.class). - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a short.
-
getInt
int getInt(int i)
Returns theith value as an integer.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a Javaint(for CQL typeint, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as an integer. If the value is NULL,0is returned. If you need to distinguish NULL and 0, check first withisNull(int)or useget(i, Integer.class). - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to an int.
-
getLong
long getLong(int i)
Returns theith value as a long.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a Javabyte(for CQL typesbigintandcounter, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a long. If the value is NULL,0Lis returned. If you need to distinguish NULL and 0L, check first withisNull(int)or useget(i, Long.class). - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a long.
-
getTimestamp
java.util.Date getTimestamp(int i)
Returns theith value as a date.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to aDate(for CQL typetimestamp, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a data. If the value is NULL,nullis returned. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to aDate.
-
getDate
LocalDate getDate(int i)
Returns theith value as a date (without time).This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to aLocalDate(for CQL typedate, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as an date. If the value is NULL,nullis returned. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to aLocalDate.
-
getTime
long getTime(int i)
Returns theith value as a long in nanoseconds since midnight.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a Javalong(for CQL typetime, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a long. If the value is NULL,0Lis returned. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a long.
-
getFloat
float getFloat(int i)
Returns theith value as a float.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a Javafloat(for CQL typefloat, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a float. If the value is NULL,0.0fis returned. If you need to distinguish NULL and 0.0f, check first withisNull(int)or useget(i, Float.class). - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a float.
-
getDouble
double getDouble(int i)
Returns theith value as a double.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a Javadouble(for CQL typedouble, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a double. If the value is NULL,0.0is returned. If you need to distinguish NULL and 0.0, check first withisNull(int)or useget(i, Double.class). - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a double.
-
getBytesUnsafe
java.nio.ByteBuffer getBytesUnsafe(int i)
Returns theith value as aByteBuffer.This method does not use any codec; it returns a copy of the binary representation of the value. It is up to the caller to convert the returned value appropriately.
- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a ByteBuffer. If the value is NULL,nullis returned. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.
-
getBytes
java.nio.ByteBuffer getBytes(int i)
Returns theith value as a byte array.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a JavaByteBuffer(for CQL typeblob, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a byte array. If the value is NULL,nullis returned. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to aByteBuffer.
-
getString
java.lang.String getString(int i)
Returns theith value as a string.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a Java string (for CQL typestext,varcharandascii, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a string. If the value is NULL,nullis returned. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a string.
-
getVarint
java.math.BigInteger getVarint(int i)
Returns theith value as a variable length integer.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to aBigInteger(for CQL typevarint, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a variable length integer. If the value is NULL,nullis returned. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to aBigInteger.
-
getDecimal
java.math.BigDecimal getDecimal(int i)
Returns theith value as a variable length decimal.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to aBigDecimal(for CQL typedecimal, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a variable length decimal. If the value is NULL,nullis returned. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to aBigDecimal.
-
getUUID
java.util.UUID getUUID(int i)
Returns theith value as a UUID.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to aUUID(for CQL typesuuidandtimeuuid, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a UUID. If the value is NULL,nullis returned. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to aUUID.
-
getInet
java.net.InetAddress getInet(int i)
Returns theith value as an InetAddress.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to anInetAddress(for CQL typeinet, this will be the built-in codec).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as an InetAddress. If the value is NULL,nullis returned. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to aInetAddress.
-
getList
<T> java.util.List<T> getList(int i, java.lang.Class<T> elementsClass)Returns theith value as a list.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a list of the specified type.If the type of the elements is generic, use
getList(int, TypeToken).Implementation note: the actual
Listimplementation will depend on thecodecbeing used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQLNULLvalues is also codec-dependent. By default, the driver will return mutable instances, and a CQLNULLwill be mapped to an empty collection (note that Cassandra makes no distinction betweenNULLand an empty collection).- Parameters:
i- the index (0 <= i < size()) to retrieve.elementsClass- the class for the elements of the list to retrieve.- Returns:
- the value of the
ith element as a list ofTobjects. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a list.
-
getList
<T> java.util.List<T> getList(int i, com.google.common.reflect.TypeToken<T> elementsType)Returns theith value as a list.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a list of the specified type.Use this variant with nested collections, which produce a generic element type:
List<List<String>> l = row.getList(1, new TypeToken<List<String>>() {});Implementation note: the actual
Listimplementation will depend on thecodecbeing used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQLNULLvalues is also codec-dependent. By default, the driver will return mutable instances, and a CQLNULLwill mapped to an empty collection (note that Cassandra makes no distinction betweenNULLand an empty collection).- Parameters:
i- the index (0 <= i < size()) to retrieve.elementsType- the type of the elements of the list to retrieve.- Returns:
- the value of the
ith element as a list ofTobjects. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a list.
-
getSet
<T> java.util.Set<T> getSet(int i, java.lang.Class<T> elementsClass)Returns theith value as a set.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a set of the specified type.If the type of the elements is generic, use
getSet(int, TypeToken).Implementation note: the actual
Setimplementation will depend on thecodecbeing used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQLNULLvalues is also codec-dependent. By default, the driver will return mutable instances, and a CQLNULLwill mapped to an empty collection (note that Cassandra makes no distinction betweenNULLand an empty collection).- Parameters:
i- the index (0 <= i < size()) to retrieve.elementsClass- the class for the elements of the set to retrieve.- Returns:
- the value of the
ith element as a set ofTobjects. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a set.
-
getSet
<T> java.util.Set<T> getSet(int i, com.google.common.reflect.TypeToken<T> elementsType)Returns theith value as a set.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a set of the specified type.Use this variant with nested collections, which produce a generic element type:
Set<List<String>> l = row.getSet(1, new TypeToken<List<String>>() {});Implementation note: the actual
Setimplementation will depend on thecodecbeing used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQLNULLvalues is also codec-dependent. By default, the driver will return mutable instances, and a CQLNULLwill mapped to an empty collection (note that Cassandra makes no distinction betweenNULLand an empty collection).- Parameters:
i- the index (0 <= i < size()) to retrieve.elementsType- the type for the elements of the set to retrieve.- Returns:
- the value of the
ith element as a set ofTobjects. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a set.
-
getMap
<K,V> java.util.Map<K,V> getMap(int i, java.lang.Class<K> keysClass, java.lang.Class<V> valuesClass)Returns theith value as a map.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a map of the specified types.If the type of the keys and/or values is generic, use
getMap(int, TypeToken, TypeToken).Implementation note: the actual
Mapimplementation will depend on thecodecbeing used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQLNULLvalues is also codec-dependent. By default, the driver will return mutable instances, and a CQLNULLwill mapped to an empty collection (note that Cassandra makes no distinction betweenNULLand an empty collection).- Parameters:
i- the index (0 <= i < size()) to retrieve.keysClass- the class for the keys of the map to retrieve.valuesClass- the class for the values of the map to retrieve.- Returns:
- the value of the
ith element as a map ofKtoVobjects. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a map.
-
getMap
<K,V> java.util.Map<K,V> getMap(int i, com.google.common.reflect.TypeToken<K> keysType, com.google.common.reflect.TypeToken<V> valuesType)Returns theith value as a map.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to a map of the specified types.Use this variant with nested collections, which produce a generic element type:
Map<Int, List<String>> l = row.getMap(1, TypeToken.of(Integer.class), new TypeToken<List<String>>() {});Implementation note: the actual
Mapimplementation will depend on thecodecbeing used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQLNULLvalues is also codec-dependent. By default, the driver will return mutable instances, and a CQLNULLwill mapped to an empty collection (note that Cassandra makes no distinction betweenNULLand an empty collection).- Parameters:
i- the index (0 <= i < size()) to retrieve.keysType- the type for the keys of the map to retrieve.valuesType- the type for the values of the map to retrieve.- Returns:
- the value of the
ith element as a map ofKtoVobjects. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to a map.
-
getUDTValue
UDTValue getUDTValue(int i)
Return theith value as a UDT value.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to aUDTValue(if the CQL type is a UDT, the registry will generate a codec automatically).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a UDT value. If the value is NULL, thennullwill be returned. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to aUDTValue.
-
getTupleValue
TupleValue getTupleValue(int i)
Return theith value as a tuple value.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to aTupleValue(if the CQL type is a tuple, the registry will generate a codec automatically).- Parameters:
i- the index (0 <= i < size()) to retrieve.- Returns:
- the value of the
ith element as a tuple value. If the value is NULL, thennullwill be returned. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type to aTupleValue.
-
getObject
java.lang.Object getObject(int i)
Returns theith value as the Java type matching its CQL type.This method uses the
CodecRegistryto find the first codec that handles the underlying CQL type. The Java type of the returned object will be determined by the codec that was selected.Use this method to dynamically inspect elements when types aren't known in advance, for instance if you're writing a generic row logger. If you know the target Java type, it is generally preferable to use typed getters, such as the ones for built-in types (
getBool(int),getInt(int), etc.), orget(int, Class)andget(int, TypeToken)for custom types.- Parameters:
i- the index to retrieve.- Returns:
- the value of the
ith value as the Java type matching its CQL type. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.- See Also:
CodecRegistry.codecFor(DataType)
-
get
<T> T get(int i, java.lang.Class<T> targetClass)Returns theith value converted to the given Java type.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to the given Java type.If the target type is generic, use
get(int, TypeToken).Implementation note: the actual object returned by this method will depend on the
codecbeing used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQLNULLvalues is also codec-dependent; by default, a CQLNULLvalue translates tonullfor simple CQL types, UDTs and tuples, and to empty collections for all CQL collection types.- Parameters:
i- the index to retrieve.targetClass- The Java type the value should be converted to.- Returns:
- the value of the
ith value converted to the given Java type. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type totargetClass.
-
get
<T> T get(int i, com.google.common.reflect.TypeToken<T> targetType)Returns theith value converted to the given Java type.This method uses the
CodecRegistryto find a codec to convert the underlying CQL type to the given Java type.Implementation note: the actual object returned by this method will depend on the
codecbeing used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQLNULLvalues is also codec-dependent; by default, a CQLNULLvalue translates tonullfor simple CQL types, UDTs and tuples, and to empty collections for all CQL collection types.- Parameters:
i- the index to retrieve.targetType- The Java type the value should be converted to.- Returns:
- the value of the
ith value converted to the given Java type. - Throws:
java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.CodecNotFoundException- if there is no registered codec to convert the element's CQL type totargetType.
-
get
<T> T get(int i, TypeCodec<T> codec)Returns theith value converted using the givenTypeCodec.This method entirely bypasses the
CodecRegistryand forces the driver to use the given codec instead. This can be useful if the codec would collide with a previously registered one, or if you want to use the codec just once without registering it.It is the caller's responsibility to ensure that the given codec
acceptsthe underlying CQL type; failing to do so may result inInvalidTypeExceptions being thrown.Implementation note: the actual object returned by this method will depend on the
codecbeing used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQLNULLvalues is also codec-dependent; by default, a CQLNULLvalue translates tonullfor simple CQL types, UDTs and tuples, and to empty collections for all CQL collection types.- Parameters:
i- the index to retrieve.codec- TheTypeCodecto use to deserialize the value; may not benull.- Returns:
- the value of the
ith value converted using the givenTypeCodec. - Throws:
InvalidTypeException- if the given codec does notacceptthe underlying CQL type.java.lang.IndexOutOfBoundsException- ifiis not a valid index for this object.
-
-