public interface Row extends GettableData
ResultSet
.
The values of a CQL Row can be retrieve by either index (index starts at 0)
or name. When setting them by name, names follow the case insensitivity
rules explained in ColumnDefinitions
.Modifier and Type | Method and Description |
---|---|
boolean |
getBool(int i)
Returns the
i th value of this row as a boolean. |
boolean |
getBool(String name)
Returns the value of column
name as a boolean. |
ByteBuffer |
getBytes(int i)
Returns the
i th value of this row as a byte array. |
ByteBuffer |
getBytes(String name)
Returns the value of column
name as a byte array. |
ByteBuffer |
getBytesUnsafe(int i)
Returns the
i th value of this row as a ByteBuffer. |
ByteBuffer |
getBytesUnsafe(String name)
Returns the value of column
name as a ByteBuffer. |
ColumnDefinitions |
getColumnDefinitions()
Returns the columns contained in this Row.
|
Date |
getDate(int i)
Returns the
i th value of this row as a date. |
Date |
getDate(String name)
Returns the value of column
name as a date. |
BigDecimal |
getDecimal(int i)
Returns the
i th value of this row as a variable length decimal. |
BigDecimal |
getDecimal(String name)
Returns the value of column
name as a variable length decimal. |
double |
getDouble(int i)
Returns the
i th value of this row as a double. |
double |
getDouble(String name)
Returns the value of column
name as a double. |
float |
getFloat(int i)
Returns the
i th value of this row as a float. |
float |
getFloat(String name)
Returns the value of column
name as a float. |
InetAddress |
getInet(int i)
Returns the
i th value of this row as an InetAddress. |
InetAddress |
getInet(String name)
Returns the value of column
name as an InetAddress. |
int |
getInt(int i)
Returns the
i th value of this row as an integer. |
int |
getInt(String name)
Returns the value of column
name as an integer. |
<T> List<T> |
getList(int i,
Class<T> elementsClass)
Returns the
i th value of this row as a list. |
<T> List<T> |
getList(String name,
Class<T> elementsClass)
Returns the value of column
name as a list. |
long |
getLong(int i)
Returns the
i th value of this row as a long. |
long |
getLong(String name)
Returns the value of column
name as a long. |
<K,V> Map<K,V> |
getMap(int i,
Class<K> keysClass,
Class<V> valuesClass)
Returns the
i th value of this row as a map. |
<K,V> Map<K,V> |
getMap(String name,
Class<K> keysClass,
Class<V> valuesClass)
Returns the value of column
name as a map. |
Token |
getPartitionKeyToken()
Returns the value of the first column containing a
Token . |
<T> Set<T> |
getSet(int i,
Class<T> elementsClass)
Returns the
i th value of this row as a set. |
<T> Set<T> |
getSet(String name,
Class<T> elementsClass)
Returns the value of column
name as a set. |
String |
getString(int i)
Returns the
i th value of this row as a string. |
String |
getString(String name)
Returns the value of column
name as a string. |
Token |
getToken(int i)
Returns the
i th value of this row as a Token . |
Token |
getToken(String name)
Returns the value of column
name as a Token . |
UUID |
getUUID(int i)
Returns the
i th value of this row as a UUID. |
UUID |
getUUID(String name)
Returns the value of column
name as a UUID. |
BigInteger |
getVarint(int i)
Returns the
i th value of this row as a variable length integer. |
BigInteger |
getVarint(String name)
Returns the value of column
name as a variable length integer. |
boolean |
isNull(int i)
Returns whether the
i th value of this row is NULL. |
boolean |
isNull(String name)
Returns whether the value for column
name in this row is NULL. |
getList, getMap, getObject, getSet, getTupleValue, getUDTValue
getList, getMap, getObject, getSet, getTupleValue, getUDTValue
ColumnDefinitions getColumnDefinitions()
boolean isNull(int i)
i
th value of this row is NULL.isNull
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to check.i
th value of this row is NULL.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.boolean isNull(String name)
name
in this row is NULL.isNull
in interface GettableByNameData
name
- the name of the column to check.name
is NULL.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.boolean getBool(int i)
i
th value of this row as a boolean.getBool
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row. If the
value is NULL, false
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not of type BOOLEAN.boolean getBool(String name)
name
as a boolean.getBool
in interface GettableByNameData
name
- the name of the column to retrieve.name
. If the value is NULL,
false
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not of type BOOLEAN.int getInt(int i)
i
th value of this row as an integer.getInt
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as an integer. If the
value is NULL, 0
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not of type INT.int getInt(String name)
name
as an integer.getInt
in interface GettableByNameData
name
- the name of the column to retrieve.name
as an integer. If the value is NULL,
0
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not of type INT.long getLong(int i)
i
th value of this row as a long.getLong
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as a long. If the
value is NULL, 0L
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not of type BIGINT or COUNTER.long getLong(String name)
name
as a long.getLong
in interface GettableByNameData
name
- the name of the column to retrieve.name
as a long. If the value is NULL,
0L
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column i
is not of type BIGINT or COUNTER.Date getDate(int i)
i
th value of this row as a date.getDate
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as a data. If the
value is NULL, null
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not of type TIMESTAMP.Date getDate(String name)
name
as a date.getDate
in interface GettableByNameData
name
- the name of the column to retrieve.name
as a date. If the value is NULL,
null
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not of type TIMESTAMP.float getFloat(int i)
i
th value of this row as a float.getFloat
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as a float. If the
value is NULL, 0.0f
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not of type FLOAT.float getFloat(String name)
name
as a float.getFloat
in interface GettableByNameData
name
- the name of the column to retrieve.name
as a float. If the value is NULL,
0.0f
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not of type FLOAT.double getDouble(int i)
i
th value of this row as a double.getDouble
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as a double. If the
value is NULL, 0.0
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not of type DOUBLE.double getDouble(String name)
name
as a double.getDouble
in interface GettableByNameData
name
- the name of the column to retrieve.name
as a double. If the value is NULL,
0.0
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not of type DOUBLE.ByteBuffer getBytesUnsafe(int i)
i
th value of this row as a ByteBuffer.
Note: this method always return the bytes composing the value, even if
the column is not of type BLOB. That is, this method never throw an
InvalidTypeException. However, if the type is not BLOB, it is up to the
caller to handle the returned value correctly.getBytesUnsafe
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as a ByteBuffer. If the
value is NULL, null
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.ByteBuffer getBytesUnsafe(String name)
name
as a ByteBuffer.
Note: this method always return the bytes composing the value, even if
the column is not of type BLOB. That is, this method never throw an
InvalidTypeException. However, if the type is not BLOB, it is up to the
caller to handle the returned value correctly.getBytesUnsafe
in interface GettableByNameData
name
- the name of the column to retrieve.name
as a ByteBuffer. If the value is NULL,
null
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.ByteBuffer getBytes(int i)
i
th value of this row as a byte array.
Note that this method validate that the column is of type BLOB. If you want to retrieve
the bytes for any type of columns, use getBytesUnsafe(int)
instead.getBytes
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as a byte array. If the
value is NULL, null
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
type is not of type BLOB.ByteBuffer getBytes(String name)
name
as a byte array.
Note that this method validate that the column is of type BLOB. If you want to retrieve
the bytes for any type of columns, use getBytesUnsafe(String)
instead.getBytes
in interface GettableByNameData
name
- the name of the column to retrieve.name
as a byte array. If the value is NULL,
null
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column i
type is not of type BLOB.String getString(int i)
i
th value of this row as a string.getString
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as a string. If the
value is NULL, null
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
type is none of:
VARCHAR, TEXT or ASCII.String getString(String name)
name
as a string.getString
in interface GettableByNameData
name
- the name of the column to retrieve.name
as a string. If the value is NULL,
null
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
type is none of:
VARCHAR, TEXT or ASCII.BigInteger getVarint(int i)
i
th value of this row as a variable length integer.getVarint
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as a variable
length integer. If the value is NULL, null
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not of type VARINT.BigInteger getVarint(String name)
name
as a variable length integer.getVarint
in interface GettableByNameData
name
- the name of the column to retrieve.name
as a variable length integer.
If the value is NULL, null
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not of type VARINT.BigDecimal getDecimal(int i)
i
th value of this row as a variable length decimal.getDecimal
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as a variable
length decimal. If the value is NULL, null
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not of type DECIMAL.BigDecimal getDecimal(String name)
name
as a variable length decimal.getDecimal
in interface GettableByNameData
name
- the name of the column to retrieve.name
as a variable length decimal.
If the value is NULL, null
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not of type DECIMAL.UUID getUUID(int i)
i
th value of this row as a UUID.getUUID
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as a UUID.
If the value is NULL, null
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not of type UUID
or TIMEUUID.UUID getUUID(String name)
name
as a UUID.getUUID
in interface GettableByNameData
name
- the name of the column to retrieve.name
as a UUID.
If the value is NULL, null
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not of type
UUID or TIMEUUID.InetAddress getInet(int i)
i
th value of this row as an InetAddress.getInet
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as an InetAddress.
If the value is NULL, null
is returned.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not of type INET.InetAddress getInet(String name)
name
as an InetAddress.getInet
in interface GettableByNameData
name
- the name of the column to retrieve.name
as an InetAddress.
If the value is NULL, null
is returned.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not of type
INET.Token getToken(int i)
i
th value of this row as a Token
.
getPartitionKeyToken()
should generally be preferred to this method (unless the
token column is aliased).i
- the index (0 <= i < size()
) of the column to retrieve.i
th column in this row as an Token.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not of the type of token values
for this cluster (this depends on the configured partitioner).Token getToken(String name)
name
as a Token
.
getPartitionKeyToken()
should generally be preferred to this method (unless the
token column is aliased).name
- the name of the column to retrieve.name
as a Token.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not of the type of token values
for this cluster (this depends on the configured partitioner).Token getPartitionKeyToken()
Token
.
This method is a shorthand for queries returning a single token in an unaliased
column. It will look for the first name matching token(...)
:
ResultSet rs = session.execute("SELECT token(k) FROM my_table WHERE k = 1");
Token token = rs.one().getPartitionKeyToken(); // retrieves token(k)
If that doesn't work for you (for example, if you're using an alias), use
getToken(int)
or getToken(String)
.name
as a Token.IllegalStateException
- if no column named token(...)
exists in this
ResultSet.InvalidTypeException
- if the first column named token(...)
is not of
the type of token values for this cluster (this depends on the configured partitioner).<T> List<T> getList(int i, Class<T> elementsClass)
i
th value of this row as a list.getList
in interface GettableByIndexData
T
- the type of the elements of the list to return.i
- the index (0 <= i < size()
) of the column to retrieve.elementsClass
- the class for the elements of the list to retrieve.i
th column in this row as a list of
elementsClass
objects. If the value is NULL, an empty list is
returned (note that Cassandra makes no difference between an empty list
and column of type list that is not set). The returned list is immutable.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not a list or if its
elements are not of class elementsClass
.<T> List<T> getList(String name, Class<T> elementsClass)
name
as a list.getList
in interface GettableByNameData
T
- the type of the elements of the list to return.name
- the name of the column to retrieve.elementsClass
- the class for the elements of the list to retrieve.i
th column in this row as a list of
elementsClass
objects. If the value is NULL, an empty list is
returned (note that Cassandra makes no difference between an empty list
and column of type list that is not set). The returned list is immutable.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not a list or if its
elements are not of class elementsClass
.<T> Set<T> getSet(int i, Class<T> elementsClass)
i
th value of this row as a set.getSet
in interface GettableByIndexData
T
- the type of the elements of the set to return.i
- the index (0 <= i < size()
) of the column to retrieve.elementsClass
- the class for the elements of the set to retrieve.i
th column in this row as a set of
elementsClass
objects. If the value is NULL, an empty set is
returned (note that Cassandra makes no difference between an empty set
and column of type set that is not set). The returned set is immutable.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not a set or if its
elements are not of class elementsClass
.<T> Set<T> getSet(String name, Class<T> elementsClass)
name
as a set.getSet
in interface GettableByNameData
T
- the type of the elements of the set to return.name
- the name of the column to retrieve.elementsClass
- the class for the elements of the set to retrieve.i
th column in this row as a set of
elementsClass
objects. If the value is NULL, an empty set is
returned (note that Cassandra makes no difference between an empty set
and column of type set that is not set). The returned set is immutable.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not a set or if its
elements are not of class elementsClass
.<K,V> Map<K,V> getMap(int i, Class<K> keysClass, Class<V> valuesClass)
i
th value of this row as a map.getMap
in interface GettableByIndexData
K
- the type of the keys of the map to return.V
- the type of the values of the map to return.i
- the index (0 <= i < size()
) of the column to retrieve.keysClass
- the class for the keys of the map to retrieve.valuesClass
- the class for the values of the map to retrieve.i
th column in this row as a map of
keysClass
to valuesClass
objects. If the value is NULL,
an empty map is returned (note that Cassandra makes no difference
between an empty map and column of type map that is not set). The
returned map is immutable.IndexOutOfBoundsException
- if i < 0 || i >= this.columns().size()
.InvalidTypeException
- if column i
is not a map, if its
keys are not of class keysClass
or if its values are not of
class valuesClass
.<K,V> Map<K,V> getMap(String name, Class<K> keysClass, Class<V> valuesClass)
name
as a map.getMap
in interface GettableByNameData
K
- the type of the keys of the map to return.V
- the type of the values of the map to return.name
- the name of the column to retrieve.keysClass
- the class for the keys of the map to retrieve.valuesClass
- the class for the values of the map to retrieve.i
th column in this row as a map of
keysClass
to valuesClass
objects. If the value is NULL,
an empty map is returned (note that Cassandra makes no difference
between an empty map and column of type map that is not set). The
returned map is immutable.IllegalArgumentException
- if name
is not part of the
ResultSet this row is part of, i.e. if !this.columns().names().contains(name)
.InvalidTypeException
- if column name
is not a map, if its
keys are not of class keysClass
or if its values are not of
class valuesClass
.