Interface GettableById
-
- All Superinterfaces:
AccessibleById,AccessibleByIndex,Data,GettableByIndex
- All Known Subinterfaces:
Bindable<SelfT>,BoundStatement,ReactiveRow,Row,UdtValue
- All Known Implementing Classes:
BoundStatementBuilder
public interface GettableById extends GettableByIndex, AccessibleById
A data structure that provides methods to retrieve its values via a CQL identifier.
-
-
Method Summary
All Methods Instance Methods Default Methods Deprecated Methods Modifier and Type Method Description default <ValueT> ValueTget(CqlIdentifier id, TypeCodec<ValueT> codec)Returns the value for the first occurrence ofid, using the given codec for the conversion.default <ValueT> ValueTget(CqlIdentifier id, GenericType<ValueT> targetType)Returns the value for the first occurrence ofid, converting it to the given Java type.default <ValueT> ValueTget(CqlIdentifier id, Class<ValueT> targetClass)Returns the value for the first occurrence ofid, converting it to the given Java type.default BigDecimalgetBigDecimal(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java big decimal.default BigIntegergetBigInteger(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java big integer.default booleangetBool(CqlIdentifier id)Deprecated.this method only exists to ease the transition from driver 3, it is an alias forgetBoolean(CqlIdentifier).default booleangetBoolean(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive boolean.default bytegetByte(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive byte.default ByteBuffergetByteBuffer(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java byte buffer.default ByteBuffergetBytesUnsafe(CqlIdentifier id)Returns the raw binary representation of the value for the first occurrence ofid.default CqlDurationgetCqlDuration(CqlIdentifier id)Returns the value for the first occurrence ofidas a duration.default doublegetDouble(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive double.default floatgetFloat(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive float.default InetAddressgetInetAddress(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java IP address.default InstantgetInstant(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java instant.default intgetInt(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive integer.default <ElementT> List<ElementT>getList(CqlIdentifier id, Class<ElementT> elementsClass)Returns the value for the first occurrence ofidas a Java list.default LocalDategetLocalDate(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java local date.default LocalTimegetLocalTime(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java local time.default longgetLong(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive long.default <KeyT,ValueT>
Map<KeyT,ValueT>getMap(CqlIdentifier id, Class<KeyT> keyClass, Class<ValueT> valueClass)Returns the value for the first occurrence ofidas a Java map.default ObjectgetObject(CqlIdentifier id)Returns the value for the first occurrence ofid, converting it to the most appropriate Java type.default <ElementT> Set<ElementT>getSet(CqlIdentifier id, Class<ElementT> elementsClass)Returns the value for the first occurrence ofidas a Java set.default shortgetShort(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive short.default StringgetString(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java string.default TokengetToken(CqlIdentifier id)Returns the value for the first occurrence ofidas a token.default TupleValuegetTupleValue(CqlIdentifier id)Returns the value for the first occurrence ofidas a tuple value.default UdtValuegetUdtValue(CqlIdentifier id)Returns the value for the first occurrence ofidas a user defined type value.default UUIDgetUuid(CqlIdentifier id)Returns the value for the first occurrence ofidas a Java UUID.default <ElementT> CqlVector<ElementT>getVector(CqlIdentifier id, Class<ElementT> elementsClass)Returns the value for the first occurrence ofidas a vector.default booleanisNull(CqlIdentifier id)Indicates whether the value for the first occurrence ofidis a CQLNULL.-
Methods inherited from interface com.datastax.oss.driver.api.core.data.AccessibleById
allIndicesOf, firstIndexOf, getType
-
Methods inherited from interface com.datastax.oss.driver.api.core.data.AccessibleByIndex
getType, size
-
Methods inherited from interface com.datastax.oss.driver.api.core.data.Data
codecRegistry, protocolVersion
-
Methods inherited from interface com.datastax.oss.driver.api.core.data.GettableByIndex
get, get, get, getBigDecimal, getBigInteger, getBool, getBoolean, getByte, getByteBuffer, getBytesUnsafe, getCqlDuration, getDouble, getFloat, getInetAddress, getInstant, getInt, getList, getLocalDate, getLocalTime, getLong, getMap, getObject, getSet, getShort, getString, getToken, getTupleValue, getUdtValue, getUuid, getVector, isNull
-
-
-
-
Method Detail
-
getBytesUnsafe
@Nullable default ByteBuffer getBytesUnsafe(@NonNull CqlIdentifier id)
Returns the raw binary representation of the value for the first occurrence ofid.This is primarily for internal use; you'll likely want to use one of the typed getters instead, to get a higher-level Java representation.
If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Returns:
- the raw value, or
nullif the CQL value isNULL. For performance reasons, this is the actual instance used internally. If you read data from the buffer, make sure toduplicateit beforehand, or only use relative methods. If you change the buffer's index or its contents in any way, any other getter invocation for this value will have unpredictable results. - Throws:
IllegalArgumentException- if the id is invalid.
-
isNull
default boolean isNull(@NonNull CqlIdentifier id)Indicates whether the value for the first occurrence ofidis a CQLNULL.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
get
@Nullable default <ValueT> ValueT get(@NonNull CqlIdentifier id, @NonNull TypeCodec<ValueT> codec)Returns the value for the first occurrence ofid, using the given codec for the conversion.This method completely bypasses the
Data.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 is appropriate for the conversion. Failing to do so will result in errors at runtime.
If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
get
@Nullable default <ValueT> ValueT get(@NonNull CqlIdentifier id, @NonNull GenericType<ValueT> targetType)Returns the value for the first occurrence ofid, converting it to the given Java type.The
Data.codecRegistry()will be used to look up a codec to handle the conversion.This variant is for generic Java types. If the target type is not generic, use
GettableByIndex.get(int, Class)instead, which may perform slightly better.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.CodecNotFoundException- if no codec can perform the conversion.
-
get
@Nullable default <ValueT> ValueT get(@NonNull CqlIdentifier id, @NonNull Class<ValueT> targetClass)Returns the value for the first occurrence ofid, converting it to the given Java type.The
Data.codecRegistry()will be used to look up a codec to handle the conversion.If the target type is generic, use
GettableByIndex.get(int, GenericType)instead.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.CodecNotFoundException- if no codec can perform the conversion.
-
getObject
@Nullable default Object getObject(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofid, converting it to the most appropriate Java type.The
Data.codecRegistry()will be used to look up a codec to handle the conversion.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 variants, such as the ones for built-in types (
GettableByIndex.getBoolean(int),GettableByIndex.getInt(int), etc.), orGettableByIndex.get(int, Class)andGettableByIndex.get(int, GenericType)for custom types.The definition of "most appropriate" is unspecified, and left to the appreciation of the
Data.codecRegistry()implementation. By default, the driver uses the mapping described in the othergetXxx()methods (for exampleString for text, varchar and ascii, etc).If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.CodecNotFoundException- if no codec can perform the conversion.
-
getBoolean
default boolean getBoolean(@NonNull CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive boolean.By default, this works with CQL type
boolean.Note that, due to its signature, this method cannot return
null. If the CQL value isNULL, it will returnfalse. If this doesn't work for you, either callisNull(CqlIdentifier)before calling this method, or useget(id, Boolean.class)instead.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getBool
@Deprecated default boolean getBool(@NonNull CqlIdentifier id)
Deprecated.this method only exists to ease the transition from driver 3, it is an alias forgetBoolean(CqlIdentifier).
-
getByte
default byte getByte(@NonNull CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive byte.By default, this works with CQL type
tinyint.Note that, due to its signature, this method cannot return
null. If the CQL value isNULL, it will return0. If this doesn't work for you, either callisNull(CqlIdentifier)before calling this method, or useget(id, Byte.class)instead.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getDouble
default double getDouble(@NonNull CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive double.By default, this works with CQL type
double.Note that, due to its signature, this method cannot return
null. If the CQL value isNULL, it will return0.0. If this doesn't work for you, either callisNull(CqlIdentifier)before calling this method, or useget(id, Double.class)instead.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getFloat
default float getFloat(@NonNull CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive float.By default, this works with CQL type
float.Note that, due to its signature, this method cannot return
null. If the CQL value isNULL, it will return0.0. If this doesn't work for you, either callisNull(CqlIdentifier)before calling this method, or useget(id, Float.class)instead.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getInt
default int getInt(@NonNull CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive integer.By default, this works with CQL type
int.Note that, due to its signature, this method cannot return
null. If the CQL value isNULL, it will return0. If this doesn't work for you, either callisNull(CqlIdentifier)before calling this method, or useget(id, Integer.class)instead.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getLong
default long getLong(@NonNull CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive long.By default, this works with CQL types
bigintandcounter.Note that, due to its signature, this method cannot return
null. If the CQL value isNULL, it will return0. If this doesn't work for you, either callisNull(CqlIdentifier)before calling this method, or useget(id, Long.class)instead.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getShort
default short getShort(@NonNull CqlIdentifier id)Returns the value for the first occurrence ofidas a Java primitive short.By default, this works with CQL type
smallint.Note that, due to its signature, this method cannot return
null. If the CQL value isNULL, it will return0. If this doesn't work for you, either callisNull(CqlIdentifier)before calling this method, or useget(id, Short.class)instead.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getInstant
@Nullable default Instant getInstant(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a Java instant.By default, this works with CQL type
timestamp.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getLocalDate
@Nullable default LocalDate getLocalDate(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a Java local date.By default, this works with CQL type
date.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getLocalTime
@Nullable default LocalTime getLocalTime(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a Java local time.By default, this works with CQL type
time.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getByteBuffer
@Nullable default ByteBuffer getByteBuffer(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a Java byte buffer.By default, this works with CQL type
blob.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getString
@Nullable default String getString(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a Java string.By default, this works with CQL types
text,varcharandascii.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getBigInteger
@Nullable default BigInteger getBigInteger(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a Java big integer.By default, this works with CQL type
varint.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getBigDecimal
@Nullable default BigDecimal getBigDecimal(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a Java big decimal.By default, this works with CQL type
decimal.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getUuid
@Nullable default UUID getUuid(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a Java UUID.By default, this works with CQL types
uuidandtimeuuid.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getInetAddress
@Nullable default InetAddress getInetAddress(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a Java IP address.By default, this works with CQL type
inet.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getCqlDuration
@Nullable default CqlDuration getCqlDuration(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a duration.By default, this works with CQL type
duration.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getVector
@Nullable default <ElementT> CqlVector<ElementT> getVector(@NonNull CqlIdentifier id, @NonNull Class<ElementT> elementsClass)
Returns the value for the first occurrence ofidas a vector.By default, this works with CQL type
vector.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getToken
@Nullable default Token getToken(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a token.Note that, for simplicity, this method relies on the CQL type of the column to pick the correct token implementation. Therefore it must only be called on columns of the type that matches the partitioner in use for this cluster:
bigintforMurmur3Partitioner,blobforByteOrderedPartitioner, andvarintforRandomPartitioner. Calling it for the wrong type will produce corrupt tokens that are unusable with this driver instance.If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the column type can not be converted to a known token type or if the name is invalid.
-
getList
@Nullable default <ElementT> List<ElementT> getList(@NonNull CqlIdentifier id, @NonNull Class<ElementT> elementsClass)
Returns the value for the first occurrence ofidas a Java list.By default, this works with CQL type
list.This method is provided for convenience when the element type is a non-generic type. For more complex list types, use
GettableByIndex.get(int, GenericType).If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.Apache Cassandra does not make any distinction between an empty collection and
null. Whether this method will return an empty collection ornullwill depend on the codec used; by default, the driver's built-in codecs all return empty collections.- Throws:
IllegalArgumentException- if the id is invalid.
-
getSet
@Nullable default <ElementT> Set<ElementT> getSet(@NonNull CqlIdentifier id, @NonNull Class<ElementT> elementsClass)
Returns the value for the first occurrence ofidas a Java set.By default, this works with CQL type
set.This method is provided for convenience when the element type is a non-generic type. For more complex set types, use
GettableByIndex.get(int, GenericType).If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.Apache Cassandra does not make any distinction between an empty collection and
null. Whether this method will return an empty collection ornullwill depend on the codec used; by default, the driver's built-in codecs all return empty collections.- Throws:
IllegalArgumentException- if the id is invalid.
-
getMap
@Nullable default <KeyT,ValueT> Map<KeyT,ValueT> getMap(@NonNull CqlIdentifier id, @NonNull Class<KeyT> keyClass, @NonNull Class<ValueT> valueClass)
Returns the value for the first occurrence ofidas a Java map.By default, this works with CQL type
map.This method is provided for convenience when the element type is a non-generic type. For more complex map types, use
GettableByIndex.get(int, GenericType).If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.Apache Cassandra does not make any distinction between an empty collection and
null. Whether this method will return an empty collection ornullwill depend on the codec used; by default, the driver's built-in codecs all return empty collections.- Throws:
IllegalArgumentException- if the id is invalid.
-
getUdtValue
@Nullable default UdtValue getUdtValue(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a user defined type value.By default, this works with CQL user-defined types.
If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
getTupleValue
@Nullable default TupleValue getTupleValue(@NonNull CqlIdentifier id)
Returns the value for the first occurrence ofidas a tuple value.By default, this works with CQL tuples.
If an identifier appears multiple times, this can only be used to access the first value. For the other ones, use positional getters.
If you want to avoid the overhead of building a
CqlIdentifier, use the variant of this method that takes a string argument.- Throws:
IllegalArgumentException- if the id is invalid.
-
-