public class BoundStatement extends Statement implements GettableData
Once values has been provided for the variables of the PreparedStatement
it has been created from, such BoundStatement can be executed (through
Session.execute(Statement)
).
The values of a BoundStatement can be set by either index or name. When
setting them by name, names follow the case insensitivity rules explained in
ColumnDefinitions
but with the difference that if multiple bind
variables have the same name, setting that name will set all the
variables for that name.
Any variable that hasn't been specifically set will be considered null
.
Bound values may also be retrieved using get*()
methods. Note that this
may have a non-negligible impact on performance: internally, values are stored
in serialized form, so they need to be deserialized again. These methods are
provided for debugging purposes.
idempotent
Constructor and Description |
---|
BoundStatement(PreparedStatement statement)
Creates a new
BoundStatement from the provided prepared
statement. |
Modifier and Type | Method and Description |
---|---|
BoundStatement |
bind(Object... values)
Bound values to the variables of this statement.
|
boolean |
getBool(int i)
Returns the
i th value as a boolean. |
boolean |
getBool(String name)
Returns the value for
name as a boolean. |
ByteBuffer |
getBytes(int i)
Returns the
i th value as a byte array. |
ByteBuffer |
getBytes(String name)
Returns the value for
name as a byte array. |
ByteBuffer |
getBytesUnsafe(int i)
Returns the
i th value as a ByteBuffer. |
ByteBuffer |
getBytesUnsafe(String name)
Returns the value for
name as a ByteBuffer. |
Date |
getDate(int i)
Returns the
i th value as a date. |
Date |
getDate(String name)
Returns the value for
name as a date. |
BigDecimal |
getDecimal(int i)
Returns the
i th value as a variable length decimal. |
BigDecimal |
getDecimal(String name)
Returns the value for
name as a variable length decimal. |
double |
getDouble(int i)
Returns the
i th value as a double. |
double |
getDouble(String name)
Returns the value for
name as a double. |
float |
getFloat(int i)
Returns the
i th value as a float. |
float |
getFloat(String name)
Returns the value for
name as a float. |
InetAddress |
getInet(int i)
Returns the
i th value as an InetAddress. |
InetAddress |
getInet(String name)
Returns the value for
name as an InetAddress. |
int |
getInt(int i)
Returns the
i th value as an integer. |
int |
getInt(String name)
Returns the value for
name as an integer. |
String |
getKeyspace()
Returns the keyspace this query operates on.
|
<T> List<T> |
getList(int i,
Class<T> elementsClass)
Returns the
i th value as a list. |
<T> List<T> |
getList(String name,
Class<T> elementsClass)
Returns the value for
name as a list. |
long |
getLong(int i)
Returns the
i th value as a long. |
long |
getLong(String name)
Returns the value for
name as a long. |
<K,V> Map<K,V> |
getMap(int i,
Class<K> keysClass,
Class<V> valuesClass)
Returns the
i th value as a map. |
<K,V> Map<K,V> |
getMap(String name,
Class<K> keysClass,
Class<V> valuesClass)
Returns the value for
name as a map. |
Object |
getObject(int i)
Returns the
i th value as the Java type matching its CQL type. |
Object |
getObject(String name)
Returns the value for
name as the Java type matching its CQL type. |
ByteBuffer |
getRoutingKey()
The routing key for this bound query.
|
<T> Set<T> |
getSet(int i,
Class<T> elementsClass)
Returns the
i th value as a set. |
<T> Set<T> |
getSet(String name,
Class<T> elementsClass)
Returns the value for
name as a set. |
String |
getString(int i)
Returns the
i th value as a string. |
String |
getString(String name)
Returns the value for
name as a string. |
UUID |
getUUID(int i)
Returns the
i th value as a UUID. |
UUID |
getUUID(String name)
Returns the value for
name as a UUID. |
BigInteger |
getVarint(int i)
Returns the
i th value as a variable length integer. |
BigInteger |
getVarint(String name)
Returns the value for
name as a variable length integer. |
boolean |
isNull(int i)
Returns whether the
i th value is NULL. |
boolean |
isNull(String name)
Returns whether the value for
name is NULL. |
boolean |
isSet(int i)
Returns whether the
i th variable has been bound to a non null value. |
boolean |
isSet(String name)
Returns whether the first occurrence of variable
name has been
bound to a non-null value. |
PreparedStatement |
preparedStatement()
Returns the prepared statement on which this BoundStatement is based.
|
BoundStatement |
setBool(int i,
boolean v)
Sets the
i th value to the provided boolean. |
BoundStatement |
setBool(String name,
boolean v)
Sets the value for (all occurrences of) variable
name to the
provided boolean. |
BoundStatement |
setBytes(int i,
ByteBuffer v)
Sets the
i th value to the provided byte buffer. |
BoundStatement |
setBytes(String name,
ByteBuffer v)
Sets the value for (all occurrences of) variable
name to the
provided byte buffer. |
BoundStatement |
setBytesUnsafe(int i,
ByteBuffer v)
Sets the
i th value to the provided byte buffer. |
BoundStatement |
setBytesUnsafe(String name,
ByteBuffer v)
Sets the value for (all occurrences of) variable
name to the
provided byte buffer. |
BoundStatement |
setDate(int i,
Date v)
Set the
i th value to the provided date. |
BoundStatement |
setDate(String name,
Date v)
Sets the value for (all occurrences of) variable
name to the
provided date. |
BoundStatement |
setDecimal(int i,
BigDecimal v)
Sets the
i th value to the provided big decimal. |
BoundStatement |
setDecimal(String name,
BigDecimal v)
Sets the value for (all occurrences of) variable
name to the
provided big decimal. |
BoundStatement |
setDouble(int i,
double v)
Sets the
i th value to the provided double. |
BoundStatement |
setDouble(String name,
double v)
Sets the value for (all occurrences of) variable
name to the
provided double. |
BoundStatement |
setFloat(int i,
float v)
Sets the
i th value to the provided float. |
BoundStatement |
setFloat(String name,
float v)
Sets the value for (all occurrences of) variable
name to the
provided float. |
BoundStatement |
setInet(int i,
InetAddress v)
Sets the
i th value to the provided inet address. |
BoundStatement |
setInet(String name,
InetAddress v)
Sets the value for (all occurrences of) variable
name to the
provided inet address. |
BoundStatement |
setInt(int i,
int v)
Set the
i th value to the provided integer. |
BoundStatement |
setInt(String name,
int v)
Sets the value for (all occurrences of) variable
name to the
provided integer. |
<T> BoundStatement |
setList(int i,
List<T> v)
Sets the
i th value to the provided list. |
<T> BoundStatement |
setList(String name,
List<T> v)
Sets the value for (all occurrences of) variable
name to the
provided list. |
BoundStatement |
setLong(int i,
long v)
Sets the
i th value to the provided long. |
BoundStatement |
setLong(String name,
long v)
Sets the value for (all occurrences of) variable
name to the
provided long. |
<K,V> BoundStatement |
setMap(int i,
Map<K,V> v)
Sets the
i th value to the provided map. |
<K,V> BoundStatement |
setMap(String name,
Map<K,V> v)
Sets the value for (all occurrences of) variable
name to the
provided map. |
BoundStatement |
setPartitionKeyToken(Token v)
Sets the value for (all occurrences of) variable "
partition key token "
to the provided token (this is the name generated by Cassandra for markers
corresponding to a token(...) call). |
BoundStatement |
setRoutingKey(ByteBuffer routingKey)
Sets the routing key for this bound statement.
|
<T> BoundStatement |
setSet(int i,
Set<T> v)
Sets the
i th value to the provided set. |
<T> BoundStatement |
setSet(String name,
Set<T> v)
Sets the value for (all occurrences of) variable
name to the
provided set. |
BoundStatement |
setString(int i,
String v)
Sets the
i th value to the provided string. |
BoundStatement |
setString(String name,
String v)
Sets the value for (all occurrences of) variable
name to the
provided string. |
BoundStatement |
setToken(int i,
Token v)
Sets the
i th value to the provided Token . |
BoundStatement |
setToken(String name,
Token v)
Sets the value for (all occurrences of) variable
name to the
provided token. |
BoundStatement |
setUUID(int i,
UUID v)
Sets the
i th value to the provided UUID. |
BoundStatement |
setUUID(String name,
UUID v)
Sets the value for (all occurrences of) variable
name to the
provided UUID. |
BoundStatement |
setVarint(int i,
BigInteger v)
Sets the
i th value to the provided big integer. |
BoundStatement |
setVarint(String name,
BigInteger v)
Sets the value for (all occurrences of) variable
name to the
provided big integer. |
disableTracing, enableTracing, getConsistencyLevel, getFetchSize, getRetryPolicy, getSerialConsistencyLevel, isIdempotent, isTracing, setConsistencyLevel, setFetchSize, setIdempotent, setPagingState, setPagingStateUnsafe, setRetryPolicy, setSerialConsistencyLevel
public BoundStatement(PreparedStatement statement)
BoundStatement
from the provided prepared
statement.statement
- the prepared statement from which to create a BoundStatement
.public PreparedStatement preparedStatement()
public boolean isSet(int i)
i
th variable has been bound to a non null value.i
- the index of the variable to check.i
th variable has been bound to a non null value.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.public boolean isSet(String name)
name
has been
bound to a non-null value.name
- the name of the variable to check.name
has been
bound to a non-null value.IllegalArgumentException
- if name
is not a prepared
variable, that is if !this.preparedStatement().variables().names().contains(name)
.public BoundStatement bind(Object... values)
BoundStatement
in one call.values
- the values to bind to the variables of the newly created
BoundStatement. The first element of values
will be bound to the
first bind variable, etc. It is legal to provide fewer values than the
statement has bound variables. In that case, the remaining variable need
to be bound before execution. If more values than variables are provided
however, an IllegalArgumentException wil be raised.IllegalArgumentException
- if more values
are provided
than there is of bound variables in this statement.InvalidTypeException
- if any of the provided value is not of
correct type to be bound to the corresponding bind variable.NullPointerException
- if one of values
is a collection
(List, Set or Map) containing a null value. Nulls are not supported in
collections by CQL.public BoundStatement setRoutingKey(ByteBuffer routingKey)
This is useful when the routing key can neither be set on the PreparedStatement
this bound statement
was built from, nor automatically computed from bound variables. In particular, this is the case if the
partition key is composite and only some of its components are bound.
routingKey
- the raw (binary) value to use as routing key.BoundStatement
object.getRoutingKey()
public ByteBuffer getRoutingKey()
This method will return a non-null
value if either of the following occur:
setRoutingKey(java.nio.ByteBuffer)
.PreparedStatement.setRoutingKey(java.nio.ByteBuffer)
for the
PreparedStatement
this statement has been built from.BoundStatement
. The routing
key will then be built using the values provided for these partition key columns.null
is returned.
Note that if the routing key has been set through setRoutingKey(java.nio.ByteBuffer)
, then that takes
precedence. If the routing key has been set through PreparedStatement.setRoutingKey(java.nio.ByteBuffer)
then that is used
next. If neither of those are set then it is computed.
getRoutingKey
in class Statement
null
.public String getKeyspace()
This method will always return a non-null
value (unless the statement
has no variables, but you should avoid prepared statement in the first in that
case). The keyspace returned will be the one corresponding to the first
variable prepared in this statement (which in almost all case will be the
keyspace for the operation, though it's possible in CQL to build a batch
statement that acts on multiple keyspace).
getKeyspace
in class Statement
null
if the
statement has no variables.public BoundStatement setBool(int i, boolean v)
i
th value to the provided boolean.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not of type BOOLEAN.public BoundStatement setBool(String name, boolean v)
name
to the
provided boolean.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any one occurrence of) name
is not of type BOOLEAN.public BoundStatement setInt(int i, int v)
i
th value to the provided integer.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not of type INT.public BoundStatement setInt(String name, int v)
name
to the
provided integer.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any one occurrence of) name
is not of type INT.public BoundStatement setLong(int i, long v)
i
th value to the provided long.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not of type BIGINT or COUNTER.public BoundStatement setLong(String name, long v)
name
to the
provided long.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not of type BIGINT or COUNTER.public BoundStatement setDate(int i, Date v)
i
th value to the provided date.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not of type TIMESTAMP.public BoundStatement setDate(String name, Date v)
name
to the
provided date.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not of type TIMESTAMP.public BoundStatement setFloat(int i, float v)
i
th value to the provided float.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not of type FLOAT.public BoundStatement setFloat(String name, float v)
name
to the
provided float.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not of type FLOAT.public BoundStatement setDouble(int i, double v)
i
th value to the provided double.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not of type DOUBLE.public BoundStatement setDouble(String name, double v)
name
to the
provided double.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not of type DOUBLE.public BoundStatement setString(int i, String v)
i
th value to the provided string.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is of neither of the
following types: VARCHAR, TEXT or ASCII.public BoundStatement setString(String name, String v)
name
to the
provided string.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
of neither of the following types: VARCHAR, TEXT or ASCII.public BoundStatement setBytes(int i, ByteBuffer v)
i
th value to the provided byte buffer.
This method validate that the type of the column set is BLOB. If you
want to insert manually serialized data into columns of another type,
use setBytesUnsafe(int, java.nio.ByteBuffer)
instead.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not of type BLOB.public BoundStatement setBytes(String name, ByteBuffer v)
name
to the
provided byte buffer.
This method validate that the type of the column set is BLOB. If you
want to insert manually serialized data into columns of another type,
use setBytesUnsafe(int, java.nio.ByteBuffer)
instead.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is not of type BLOB.public BoundStatement setBytesUnsafe(int i, ByteBuffer v)
i
th value to the provided byte buffer.
Contrary to setBytes(int, java.nio.ByteBuffer)
, this method does not check the
type of the column set. If you insert data that is not compatible with
the type of the column, you will get an InvalidQueryException
at
execute time.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.public BoundStatement setBytesUnsafe(String name, ByteBuffer v)
name
to the
provided byte buffer.
Contrary to setBytes(int, java.nio.ByteBuffer)
, this method does not check the
type of the column set. If you insert data that is not compatible with
the type of the column, you will get an InvalidQueryException
at
execute time.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is if !this.preparedStatement().variables().names().contains(name)
.public BoundStatement setVarint(int i, BigInteger v)
i
th value to the provided big integer.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not of type VARINT.public BoundStatement setVarint(String name, BigInteger v)
name
to the
provided big integer.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not of type VARINT.public BoundStatement setDecimal(int i, BigDecimal v)
i
th value to the provided big decimal.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not of type DECIMAL.public BoundStatement setDecimal(String name, BigDecimal v)
name
to the
provided big decimal.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not of type DECIMAL.public BoundStatement setUUID(int i, UUID v)
i
th value to the provided UUID.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not of type UUID or
TIMEUUID, or if column i
is of type TIMEUUID but v
is
not a type 1 UUID.public BoundStatement setUUID(String name, UUID v)
name
to the
provided UUID.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not of type UUID or TIMEUUID, or if column name
is of type
TIMEUUID but v
is not a type 1 UUID.public BoundStatement setInet(int i, InetAddress v)
i
th value to the provided inet address.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not of type INET.public BoundStatement setInet(String name, InetAddress v)
name
to the
provided inet address.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not of type INET.public BoundStatement setToken(int i, Token v)
i
th value to the provided Token
.
setPartitionKeyToken(Token)
should generally be preferred if you
have a single token variable.
i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not of the type of the token's value.public BoundStatement setToken(String name, Token v)
name
to the
provided token.
setPartitionKeyToken(Token)
should generally be preferred if you
have a single token variable.
If you have multiple token variables, use positional binding (setToken(int, Token)
,
or named bind markers:
PreparedStatement pst = session.prepare("SELECT * FROM my_table WHERE token(k) > :min AND token(k) <= :max");
BoundStatement b = pst.bind().setToken("min", minToken).setToken("max", maxToken);
name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not of the type of the token's value.public BoundStatement setPartitionKeyToken(Token v)
partition key token
"
to the provided token (this is the name generated by Cassandra for markers
corresponding to a token(...)
call).
This method is a shorthand for statements with a single token variable:
Token token = ...
PreparedStatement pst = session.prepare("SELECT * FROM my_table WHERE token(k) = ?");
BoundStatement b = pst.bind().setPartitionKeyToken(token);
If you have multiple token variables, use positional binding (setToken(int, Token)
,
or named bind markers:
PreparedStatement pst = session.prepare("SELECT * FROM my_table WHERE token(k) > :min AND token(k) <= :max");
BoundStatement b = pst.bind().setToken("min", minToken).setToken("max", maxToken);
v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not of the type of the token's value.public <T> BoundStatement setList(int i, List<T> v)
i
th value to the provided list.
Please note that null
values are not supported inside collection by CQL.
T
- the type of the elements of the list to set.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not a list type or
if the elements of v
are not of the type of the elements of
column i
.NullPointerException
- if v
contains null values. Nulls are not supported in collections
by CQL.public <T> BoundStatement setList(String name, List<T> v)
name
to the
provided list.
Please note that null
values are not supported inside collection by CQL.
T
- the type of the elements of the list to set.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not a list type or if the elements of v
are not of the type of
the elements of column name
.NullPointerException
- if v
contains null values. Nulls are not supported in collections
by CQL.public <K,V> BoundStatement setMap(int i, Map<K,V> v)
i
th value to the provided map.
Please note that null
values are not supported inside collection by CQL.
K
- the type of the keys for the map to set.V
- the type of the values for the map to set.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not a map type or
if the elements (keys or values) of v
are not of the type of the
elements of column i
.NullPointerException
- if v
contains null values. Nulls are not supported in collections
by CQL.public <K,V> BoundStatement setMap(String name, Map<K,V> v)
name
to the
provided map.
Please note that null
values are not supported inside collection by CQL.
K
- the type of the keys for the map to set.V
- the type of the values for the map to set.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not a map type or if the elements (keys or values) of v
are not of
the type of the elements of column name
.NullPointerException
- if v
contains null values. Nulls are not supported in collections
by CQL.public <T> BoundStatement setSet(int i, Set<T> v)
i
th value to the provided set.
Please note that null
values are not supported inside collection by CQL.
T
- the type of the elements of the set to set.i
- the index of the variable to set.v
- the value to set.IndexOutOfBoundsException
- if i < 0 || i >= this.preparedStatement().variables().size()
.InvalidTypeException
- if column i
is not a set type or
if the elements of v
are not of the type of the elements of
column i
.NullPointerException
- if v
contains null values. Nulls are not supported in collections
by CQL.public <T> BoundStatement setSet(String name, Set<T> v)
name
to the
provided set.
Please note that null
values are not supported inside collection by CQL.
T
- the type of the elements of the set to set.name
- the name of the variable to set; if multiple variables
name
are prepared, all of them are set.v
- the value to set.IllegalArgumentException
- if name
is not a prepared
variable, that is, if !this.preparedStatement().variables().names().contains(name)
.InvalidTypeException
- if (any occurrence of) name
is
not a map type or if the elements of v
are not of the type of
the elements of column name
.NullPointerException
- if v
contains null values. Nulls are not supported in collections
by CQL.public boolean isNull(int i)
GettableData
i
th value is NULL.isNull
in interface GettableData
i
- the index (0 <= i < size()
) of the value to check.i
th value is NULL.public boolean isNull(String name)
GettableData
name
is NULL.isNull
in interface GettableData
name
- the name of the value to check.name
is NULL.public boolean getBool(int i)
GettableData
i
th value as a boolean.getBool
in interface GettableData
i
- the index to retrieve.i
th value. If the
value is NULL, false
is returned.public boolean getBool(String name)
GettableData
name
as a boolean.getBool
in interface GettableData
name
- the name to retrieve.name
. If the value is NULL,
false
is returned.public int getInt(int i)
GettableData
i
th value as an integer.getInt
in interface GettableData
i
- the index to retrieve.i
th value as an integer. If the
value is NULL, 0
is returned.public int getInt(String name)
GettableData
name
as an integer.getInt
in interface GettableData
name
- the name to retrieve.name
as an integer. If the value is NULL,
0
is returned.public long getLong(int i)
GettableData
i
th value as a long.getLong
in interface GettableData
i
- the index to retrieve.i
th value as a long. If the
value is NULL, 0L
is returned.public long getLong(String name)
GettableData
name
as a long.getLong
in interface GettableData
name
- the name to retrieve.name
as a long. If the value is NULL,
0L
is returned.public Date getDate(int i)
GettableData
i
th value as a date.getDate
in interface GettableData
i
- the index to retrieve.i
th value as a data. If the
value is NULL, null
is returned.public Date getDate(String name)
GettableData
name
as a date.getDate
in interface GettableData
name
- the name to retrieve.name
as a date. If the value is NULL,
null
is returned.public float getFloat(int i)
GettableData
i
th value as a float.getFloat
in interface GettableData
i
- the index to retrieve.i
th value as a float. If the
value is NULL, 0.0f
is returned.public float getFloat(String name)
GettableData
name
as a float.getFloat
in interface GettableData
name
- the name to retrieve.name
as a float. If the value is NULL,
0.0f
is returned.public double getDouble(int i)
GettableData
i
th value as a double.getDouble
in interface GettableData
i
- the index to retrieve.i
th value as a double. If the
value is NULL, 0.0
is returned.public double getDouble(String name)
GettableData
name
as a double.getDouble
in interface GettableData
name
- the name to retrieve.name
as a double. If the value is NULL,
0.0
is returned.public ByteBuffer getBytesUnsafe(int i)
GettableData
i
th value as a ByteBuffer.
Note: this method always return the bytes composing the value, even if
it 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 GettableData
i
- the index to retrieve.i
th value as a ByteBuffer. If the
value is NULL, null
is returned.public ByteBuffer getBytesUnsafe(String name)
GettableData
name
as a ByteBuffer.
Note: this method always return the bytes composing the value, even if
it 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 GettableData
name
- the name to retrieve.name
as a ByteBuffer. If the value is NULL,
null
is returned.public ByteBuffer getBytes(int i)
GettableData
i
th value as a byte array.
Note that this method validate that the value is of type BLOB. If you want to retrieve
the bytes for any type of values, use GettableData.getBytesUnsafe(int)
instead.
getBytes
in interface GettableData
i
- the index to retrieve.i
th value as a byte array. If the
value is NULL, null
is returned.public ByteBuffer getBytes(String name)
GettableData
name
as a byte array.
Note that this method validate that the value is of type BLOB. If you want to retrieve
the bytes for any type of values, use GettableData.getBytesUnsafe(String)
instead.
getBytes
in interface GettableData
name
- the name to retrieve.name
as a byte array. If the value is NULL,
null
is returned.public String getString(int i)
GettableData
i
th value as a string.getString
in interface GettableData
i
- the index to retrieve.i
th value as a string. If the
value is NULL, null
is returned.public String getString(String name)
GettableData
name
as a string.getString
in interface GettableData
name
- the name to retrieve.name
as a string. If the value is NULL,
null
is returned.public BigInteger getVarint(int i)
GettableData
i
th value as a variable length integer.getVarint
in interface GettableData
i
- the index to retrieve.i
th value as a variable
length integer. If the value is NULL, null
is returned.public BigInteger getVarint(String name)
GettableData
name
as a variable length integer.getVarint
in interface GettableData
name
- the name to retrieve.name
as a variable length integer.
If the value is NULL, null
is returned.public BigDecimal getDecimal(int i)
GettableData
i
th value as a variable length decimal.getDecimal
in interface GettableData
i
- the index to retrieve.i
th value as a variable
length decimal. If the value is NULL, null
is returned.public BigDecimal getDecimal(String name)
GettableData
name
as a variable length decimal.getDecimal
in interface GettableData
name
- the name to retrieve.name
as a variable length decimal.
If the value is NULL, null
is returned.public UUID getUUID(int i)
GettableData
i
th value as a UUID.getUUID
in interface GettableData
i
- the index to retrieve.i
th value as a UUID.
If the value is NULL, null
is returned.public UUID getUUID(String name)
GettableData
name
as a UUID.getUUID
in interface GettableData
name
- the name to retrieve.name
as a UUID.
If the value is NULL, null
is returned.public InetAddress getInet(int i)
GettableData
i
th value as an InetAddress.getInet
in interface GettableData
i
- the index to retrieve.i
th value as an InetAddress.
If the value is NULL, null
is returned.public InetAddress getInet(String name)
GettableData
name
as an InetAddress.getInet
in interface GettableData
name
- the name to retrieve.name
as an InetAddress.
If the value is NULL, null
is returned.public <T> List<T> getList(int i, Class<T> elementsClass)
GettableData
i
th value as a list.getList
in interface GettableData
T
- the type of the elements of the list to return.i
- the index to retrieve.elementsClass
- the class for the elements of the list to retrieve.i
th value 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.public <T> List<T> getList(String name, Class<T> elementsClass)
GettableData
name
as a list.getList
in interface GettableData
T
- the type of the elements of the list to return.name
- the name to retrieve.elementsClass
- the class for the elements of the list to retrieve.i
th value 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.public <T> Set<T> getSet(int i, Class<T> elementsClass)
GettableData
i
th value as a set.getSet
in interface GettableData
T
- the type of the elements of the set to return.i
- the index to retrieve.elementsClass
- the class for the elements of the set to retrieve.i
th value 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.public <T> Set<T> getSet(String name, Class<T> elementsClass)
GettableData
name
as a set.getSet
in interface GettableData
T
- the type of the elements of the set to return.name
- the name to retrieve.elementsClass
- the class for the elements of the set to retrieve.i
th value 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.public <K,V> Map<K,V> getMap(int i, Class<K> keysClass, Class<V> valuesClass)
GettableData
i
th value as a map.getMap
in interface GettableData
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 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 value 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.public <K,V> Map<K,V> getMap(String name, Class<K> keysClass, Class<V> valuesClass)
GettableData
name
as a map.getMap
in interface GettableData
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 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 value 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.public Object getObject(int i)
GettableData
i
th value as the Java type matching its CQL type.getObject
in interface GettableData
i
- the index to retrieve.i
th value as the Java type matching its CQL type.
If the value is NULL and is a simple type, NULL is returned.
If it is NULL and is a collection type, an empty (immutable) collection is returned.public Object getObject(String name)
GettableData
name
as the Java type matching its CQL type.getObject
in interface GettableData
name
- the name to retrieve.i
th value as the Java type matching its CQL type.
If the value is NULL and is a simple type, NULL is returned.
If it is NULL and is a collection type, an empty (immutable) collection is returned.Copyright © 2012–2015. All rights reserved.