Interface GettableByIndexData

All Known Subinterfaces:
GettableData
All Known Implementing Classes:
AbstractGettableData, TupleValue, UDTValue

public interface GettableByIndexData
Collection of (typed) CQL values that can be retrieved by index (starting at zero).
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> T
    get(int i, com.google.common.reflect.TypeToken<T> targetType)
    Returns the ith value converted to the given Java type.
    <T> T
    get(int i, Class<T> targetClass)
    Returns the ith value converted to the given Java type.
    <T> T
    get(int i, TypeCodec<T> codec)
    Returns the ith value converted using the given TypeCodec.
    boolean
    getBool(int i)
    Returns the ith value as a boolean.
    byte
    getByte(int i)
    Returns the ith value as a byte.
    getBytes(int i)
    Returns the ith value as a byte array.
    Returns the ith value as a ByteBuffer.
    getDate(int i)
    Returns the ith value as a date (without time).
    getDecimal(int i)
    Returns the ith value as a variable length decimal.
    double
    getDouble(int i)
    Returns the ith value as a double.
    float
    getFloat(int i)
    Returns the ith value as a float.
    getInet(int i)
    Returns the ith value as an InetAddress.
    int
    getInt(int i)
    Returns the ith value as an integer.
    <T> List<T>
    getList(int i, com.google.common.reflect.TypeToken<T> elementsType)
    Returns the ith value as a list.
    <T> List<T>
    getList(int i, Class<T> elementsClass)
    Returns the ith value as a list.
    long
    getLong(int i)
    Returns the ith value as a long.
    <K, V> Map<K,V>
    getMap(int i, com.google.common.reflect.TypeToken<K> keysType, com.google.common.reflect.TypeToken<V> valuesType)
    Returns the ith value as a map.
    <K, V> Map<K,V>
    getMap(int i, Class<K> keysClass, Class<V> valuesClass)
    Returns the ith value as a map.
    getObject(int i)
    Returns the ith value as the Java type matching its CQL type.
    <T> Set<T>
    getSet(int i, com.google.common.reflect.TypeToken<T> elementsType)
    Returns the ith value as a set.
    <T> Set<T>
    getSet(int i, Class<T> elementsClass)
    Returns the ith value as a set.
    short
    getShort(int i)
    Returns the ith value as a short.
    getString(int i)
    Returns the ith value as a string.
    long
    getTime(int i)
    Returns the ith value as a long in nanoseconds since midnight.
    getTimestamp(int i)
    Returns the ith value as a date.
    Return the ith value as a tuple value.
    getUDTValue(int i)
    Return the ith value as a UDT value.
    getUUID(int i)
    Returns the ith value as a UUID.
    getVarint(int i)
    Returns the ith value as a variable length integer.
    <T> List<T>
    getVector(int i, com.google.common.reflect.TypeToken<T> elementsType)
    Returns the ith value as a vector, represented as a Java list.
    <T> List<T>
    getVector(int i, Class<T> elementsClass)
    Returns the ith value as a vector, represented as a Java list.
    boolean
    isNull(int i)
    Returns whether the ith value is NULL.
  • Method Details

    • isNull

      boolean isNull(int i)
      Returns whether the ith value is NULL.
      Parameters:
      i - the index (0 <= i < size()) of the value to check.
      Returns:
      whether the ith value is NULL.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
    • getBool

      boolean getBool(int i)
      Returns the ith value as a boolean.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a Java boolean (for CQL type boolean, 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, false is returned. If you need to distinguish NULL and false values, check first with isNull(int) or use get(i, Boolean.class).
      Throws:
      IndexOutOfBoundsException - if i is 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 the ith value as a byte.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a Java byte (for CQL type tinyint, 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, 0 is returned. If you need to distinguish NULL and 0, check first with isNull(int) or use get(i, Byte.class).
      Throws:
      IndexOutOfBoundsException - if i is 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 the ith value as a short.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a Java short (for CQL type smallint, 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, 0 is returned. If you need to distinguish NULL and 0, check first with isNull(int) or use get(i, Short.class).
      Throws:
      IndexOutOfBoundsException - if i is 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 the ith value as an integer.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a Java int (for CQL type int, 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, 0 is returned. If you need to distinguish NULL and 0, check first with isNull(int) or use get(i, Integer.class).
      Throws:
      IndexOutOfBoundsException - if i is 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 the ith value as a long.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a Java byte (for CQL types bigint and counter, 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, 0L is returned. If you need to distinguish NULL and 0L, check first with isNull(int) or use get(i, Long.class).
      Throws:
      IndexOutOfBoundsException - if i is 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

      Date getTimestamp(int i)
      Returns the ith value as a date.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a Date (for CQL type timestamp, 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, null is returned.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to a Date.
    • getDate

      LocalDate getDate(int i)
      Returns the ith value as a date (without time).

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a LocalDate (for CQL type date, 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, null is returned.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to a LocalDate.
    • getTime

      long getTime(int i)
      Returns the ith value as a long in nanoseconds since midnight.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a Java long (for CQL type time, 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, 0L is returned.
      Throws:
      IndexOutOfBoundsException - if i is 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 the ith value as a float.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a Java float (for CQL type float, 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.0f is returned. If you need to distinguish NULL and 0.0f, check first with isNull(int) or use get(i, Float.class).
      Throws:
      IndexOutOfBoundsException - if i is 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 the ith value as a double.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a Java double (for CQL type double, 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.0 is returned. If you need to distinguish NULL and 0.0, check first with isNull(int) or use get(i, Double.class).
      Throws:
      IndexOutOfBoundsException - if i is 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

      ByteBuffer getBytesUnsafe(int i)
      Returns the ith value as a ByteBuffer.

      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, null is returned.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
    • getBytes

      ByteBuffer getBytes(int i)
      Returns the ith value as a byte array.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a Java ByteBuffer (for CQL type blob, 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, null is returned.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to a ByteBuffer.
    • getString

      String getString(int i)
      Returns the ith value as a string.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a Java string (for CQL types text, varchar and ascii, 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, null is returned.
      Throws:
      IndexOutOfBoundsException - if i is 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

      BigInteger getVarint(int i)
      Returns the ith value as a variable length integer.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a BigInteger (for CQL type varint, 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, null is returned.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to a BigInteger.
    • getDecimal

      BigDecimal getDecimal(int i)
      Returns the ith value as a variable length decimal.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a BigDecimal (for CQL type decimal, 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, null is returned.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to a BigDecimal.
    • getUUID

      UUID getUUID(int i)
      Returns the ith value as a UUID.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a UUID (for CQL types uuid and timeuuid, 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, null is returned.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to a UUID.
    • getInet

      InetAddress getInet(int i)
      Returns the ith value as an InetAddress.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to an InetAddress (for CQL type inet, 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, null is returned.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to a InetAddress.
    • getList

      <T> List<T> getList(int i, Class<T> elementsClass)
      Returns the ith value as a list.

      This method uses the CodecRegistry to 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 List implementation will depend on the codec being used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQL NULL values is also codec-dependent. By default, the driver will return mutable instances, and a CQL NULL will be mapped to an empty collection (note that Cassandra makes no distinction between NULL and 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 of T objects.
      Throws:
      IndexOutOfBoundsException - if i is 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> List<T> getList(int i, com.google.common.reflect.TypeToken<T> elementsType)
      Returns the ith value as a list.

      This method uses the CodecRegistry to 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 List implementation will depend on the codec being used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQL NULL values is also codec-dependent. By default, the driver will return mutable instances, and a CQL NULL will mapped to an empty collection (note that Cassandra makes no distinction between NULL and 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 of T objects.
      Throws:
      IndexOutOfBoundsException - if i is 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> Set<T> getSet(int i, Class<T> elementsClass)
      Returns the ith value as a set.

      This method uses the CodecRegistry to 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 Set implementation will depend on the codec being used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQL NULL values is also codec-dependent. By default, the driver will return mutable instances, and a CQL NULL will mapped to an empty collection (note that Cassandra makes no distinction between NULL and 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 of T objects.
      Throws:
      IndexOutOfBoundsException - if i is 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> Set<T> getSet(int i, com.google.common.reflect.TypeToken<T> elementsType)
      Returns the ith value as a set.

      This method uses the CodecRegistry to 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 Set implementation will depend on the codec being used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQL NULL values is also codec-dependent. By default, the driver will return mutable instances, and a CQL NULL will mapped to an empty collection (note that Cassandra makes no distinction between NULL and 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 of T objects.
      Throws:
      IndexOutOfBoundsException - if i is 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> Map<K,V> getMap(int i, Class<K> keysClass, Class<V> valuesClass)
      Returns the ith value as a map.

      This method uses the CodecRegistry to 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 Map implementation will depend on the codec being used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQL NULL values is also codec-dependent. By default, the driver will return mutable instances, and a CQL NULL will mapped to an empty collection (note that Cassandra makes no distinction between NULL and 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 of K to V objects.
      Throws:
      IndexOutOfBoundsException - if i is 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> Map<K,V> getMap(int i, com.google.common.reflect.TypeToken<K> keysType, com.google.common.reflect.TypeToken<V> valuesType)
      Returns the ith value as a map.

      This method uses the CodecRegistry to 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 Map implementation will depend on the codec being used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQL NULL values is also codec-dependent. By default, the driver will return mutable instances, and a CQL NULL will mapped to an empty collection (note that Cassandra makes no distinction between NULL and 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 of K to V objects.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to a map.
    • getVector

      <T> List<T> getVector(int i, Class<T> elementsClass)
      Returns the ith value as a vector, represented as a Java list.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a vector of the specified type.

      If the type of the elements is generic, use getVector(int, TypeToken).

      Implementation note: the actual List implementation representing the vector will depend on the codec being used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety.

      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 of T objects.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to a vector.
    • getVector

      <T> List<T> getVector(int i, com.google.common.reflect.TypeToken<T> elementsType)
      Returns the ith value as a vector, represented as a Java list.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a vector of the specified type.

      Use this variant with nested types, which produce a generic element type:

       List<List<String>> l = row.getVector(1, new TypeToken<List<String>>() {});
       

      Implementation note: the actual List implementation representing the vector will depend on the codec being used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety.

      Parameters:
      i - the index (0 <= i < size()) to retrieve.
      elementsType - the type of the elements of the vector to retrieve.
      Returns:
      the value of the ith element as a vector of T objects.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to a vector.
    • getUDTValue

      UDTValue getUDTValue(int i)
      Return the ith value as a UDT value.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a UDTValue (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, then null will be returned.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to a UDTValue.
    • getTupleValue

      TupleValue getTupleValue(int i)
      Return the ith value as a tuple value.

      This method uses the CodecRegistry to find a codec to convert the underlying CQL type to a TupleValue (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, then null will be returned.
      Throws:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to a TupleValue.
    • getObject

      Object getObject(int i)
      Returns the ith value as the Java type matching its CQL type.

      This method uses the CodecRegistry to 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.), or get(int, Class) and get(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:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      See Also:
    • get

      <T> T get(int i, Class<T> targetClass)
      Returns the ith value converted to the given Java type.

      This method uses the CodecRegistry to 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 codec being used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQL NULL values is also codec-dependent; by default, a CQL NULL value translates to null for 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:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to targetClass.
    • get

      <T> T get(int i, com.google.common.reflect.TypeToken<T> targetType)
      Returns the ith value converted to the given Java type.

      This method uses the CodecRegistry to 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 codec being used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQL NULL values is also codec-dependent; by default, a CQL NULL value translates to null for 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:
      IndexOutOfBoundsException - if i is not a valid index for this object.
      CodecNotFoundException - if there is no registered codec to convert the element's CQL type to targetType.
    • get

      <T> T get(int i, TypeCodec<T> codec)
      Returns the ith value converted using the given TypeCodec.

      This method entirely bypasses the CodecRegistry and 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 accepts the underlying CQL type; failing to do so may result in InvalidTypeExceptions being thrown.

      Implementation note: the actual object returned by this method will depend on the codec being used; therefore, callers should make no assumptions concerning its mutability nor its thread-safety. Furthermore, the behavior of this method in respect to CQL NULL values is also codec-dependent; by default, a CQL NULL value translates to null for simple CQL types, UDTs and tuples, and to empty collections for all CQL collection types.

      Parameters:
      i - the index to retrieve.
      codec - The TypeCodec to use to deserialize the value; may not be null.
      Returns:
      the value of the ith value converted using the given TypeCodec.
      Throws:
      InvalidTypeException - if the given codec does not accept the underlying CQL type.
      IndexOutOfBoundsException - if i is not a valid index for this object.