com.datastax.driver.core.querybuilder
Class Update.Conditions

java.lang.Object
  extended by com.datastax.driver.core.Statement
      extended by com.datastax.driver.core.RegularStatement
          extended by com.datastax.driver.core.querybuilder.Update.Conditions
Enclosing class:
Update

public static class Update.Conditions
extends RegularStatement

Conditions for an UDPATE statement.

When provided some conditions, an update will not apply unless the provided conditions applies.

Please keep in mind that provided conditions has a non negligible performance impact and should be avoided when possible.


Method Summary
 Update.Conditions and(Clause condition)
          Adds the provided condition for the update.
 Statement disableTracing()
          Disables tracing for this query.
 Statement enableTracing()
          Enables tracing for this query.
 ConsistencyLevel getConsistencyLevel()
          The consistency level for this query.
 String getKeyspace()
          Returns the keyspace this query operates on.
 String getQueryString()
          Returns the query string for this statement.
 RetryPolicy getRetryPolicy()
          Returns the retry policy sets for this query, if any.
 ByteBuffer getRoutingKey()
          Returns the routing key (in binary raw form) to use for token aware routing of this query.
 ByteBuffer[] getValues()
          The values to use for this statement.
 boolean isTracing()
          Returns whether tracing is enabled for this query or not.
 Statement setConsistencyLevel(ConsistencyLevel consistency)
          Sets the consistency level for the query.
 RegularStatement setForceNoValues(boolean forceNoValues)
          Allows to force this builder to not generate values (through its getValues() method).
 Statement setRetryPolicy(RetryPolicy policy)
          Sets the retry policy to use for this query.
 String toString()
           
 Update.Options using(Using using)
          Adds an option to the UPDATE statement these conditions are part of.
 Update.Where where(Clause clause)
          Adds a where clause to the UPDATE statement these conditions are part of.
 Update.Assignments with(Assignment assignment)
          Adds an assignment to the UPDATE statement those conditions are part of.
 
Methods inherited from class com.datastax.driver.core.Statement
getFetchSize, getSerialConsistencyLevel, setFetchSize, setSerialConsistencyLevel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

and

public Update.Conditions and(Clause condition)
Adds the provided condition for the update.

Note that while the query builder accept any type of Clause as conditions, Cassandra currently only allow equality ones.

Parameters:
condition - the condition to add.
Returns:
this Conditions clause.

with

public Update.Assignments with(Assignment assignment)
Adds an assignment to the UPDATE statement those conditions are part of.

Parameters:
assignment - the assignment to add.
Returns:
the assignments of the UPDATE statement those conditions are part of.

where

public Update.Where where(Clause clause)
Adds a where clause to the UPDATE statement these conditions are part of.

Parameters:
clause - clause to add.
Returns:
the WHERE clause of the UPDATE statement these conditions are part of.

using

public Update.Options using(Using using)
Adds an option to the UPDATE statement these conditions are part of.

Parameters:
using - the using clause to add.
Returns:
the options of the UPDATE statement these conditions are part of.

getQueryString

public String getQueryString()
Description copied from class: RegularStatement
Returns the query string for this statement.

Returns:
a valid CQL query string.

getRoutingKey

public ByteBuffer getRoutingKey()
Description copied from class: Statement
Returns the routing key (in binary raw form) to use for token aware routing of this query.

The routing key is optional in that implementers are free to return null. The routing key is an hint used for token-aware routing (see TokenAwarePolicy), and if provided should correspond to the binary value for the query partition key. However, not providing a routing key never causes a query to fail and if the load balancing policy used is not token aware, then the routing key can be safely ignored.

Returns:
the routing key for this query or null.

getKeyspace

public String getKeyspace()
Description copied from class: Statement
Returns the keyspace this query operates on.

Note that not all query specify on which keyspace they operate on, and so this method can always reutrn null. Firstly, some queries do not operate inside a keyspace: keyspace creation, USE queries, user creation, etc. Secondly, even query that operate within a keyspace do not have to specify said keyspace directly, in which case the currently logged in keyspace (the one set through a USE query (or through the use of Cluster.connect(String))). Lastly, as for the routing key, this keyspace information is only a hint for token-aware routing (since replica placement depend on the replication strategy in use which is a per-keyspace property) and having this method return null (or even a bogus keyspace name) will never cause the query to fail.

Returns:
the keyspace this query operate on if relevant or null.

setConsistencyLevel

public Statement setConsistencyLevel(ConsistencyLevel consistency)
Description copied from class: Statement
Sets the consistency level for the query.

Overrides:
setConsistencyLevel in class Statement
Parameters:
consistency - the consistency level to set.
Returns:
this Statement object.

getConsistencyLevel

public ConsistencyLevel getConsistencyLevel()
Description copied from class: Statement
The consistency level for this query.

Overrides:
getConsistencyLevel in class Statement
Returns:
the consistency level for this query, or null if no consistency level has been specified (through setConsistencyLevel). In the latter case, the default consistency level will be used.

enableTracing

public Statement enableTracing()
Description copied from class: Statement
Enables tracing for this query. By default (that is unless you call this method), tracing is not enabled.

Overrides:
enableTracing in class Statement
Returns:
this Statement object.

disableTracing

public Statement disableTracing()
Description copied from class: Statement
Disables tracing for this query.

Overrides:
disableTracing in class Statement
Returns:
this Statement object.

isTracing

public boolean isTracing()
Description copied from class: Statement
Returns whether tracing is enabled for this query or not.

Overrides:
isTracing in class Statement
Returns:
true if this query has tracing enabled, false otherwise.

setRetryPolicy

public Statement setRetryPolicy(RetryPolicy policy)
Description copied from class: Statement
Sets the retry policy to use for this query.

The default retry policy, if this method is not called, is the one returned by Policies.getRetryPolicy() in the cluster configuration. This method is thus only useful in case you want to punctually override the default policy for this request.

Overrides:
setRetryPolicy in class Statement
Parameters:
policy - the retry policy to use for this query.
Returns:
this Statement object.

getRetryPolicy

public RetryPolicy getRetryPolicy()
Description copied from class: Statement
Returns the retry policy sets for this query, if any.

Overrides:
getRetryPolicy in class Statement
Returns:
the retry policy sets specifically for this query or null if no query specific retry policy has been set through Statement.setRetryPolicy(com.datastax.driver.core.policies.RetryPolicy) (in which case the Cluster retry policy will apply if necessary).

getValues

public ByteBuffer[] getValues()
Description copied from class: RegularStatement
The values to use for this statement.

Returns:
the values to use for this statement or null if there is no such values.
See Also:
SimpleStatement.SimpleStatement(String, Object...)

toString

public String toString()

setForceNoValues

public RegularStatement setForceNoValues(boolean forceNoValues)
Allows to force this builder to not generate values (through its getValues() method).

By default and for performance reasons, the query builder will not serialize all values provided to strings. This means that the getQueryString() may return a query string with bind markers (where and when is at the discretion of the builder) and getValues() will return the binary values for those markers. This method allows to force the builder to not generate binary values but rather to serialize them all in the query string. In practice, this means that if you call setForceNoValues(true), you are guarateed that getValues() will return null and that the string returned by getQueryString() will contain no other bind markers than the one inputed by the user.

Note that this method is mainly useful for debugging purpose. In general, the default behavior should be the correct and most efficient one.

Parameters:
forceNoValues - whether or not this builder may generate values.
Returns:
this statement.


Copyright © 2013. All rights reserved.