public abstract class BuiltStatement extends RegularStatement
idempotent, NULL_PAYLOAD_VALUE| Modifier and Type | Method and Description | 
|---|---|
protected String | 
escapeId(String ident)  | 
String | 
getKeyspace()
Returns the keyspace this query operates on. 
 | 
String | 
getQueryString()
Returns the query string for this statement. 
 | 
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 | 
hasValues()
Whether or not this statement has values, that is if  
getValues
 will return null or not. | 
Boolean | 
isIdempotent()
Whether this statement is idempotent, i.e. 
 | 
RegularStatement | 
setForceNoValues(boolean forceNoValues)
Allows to force this builder to not generate values (through its  
getValues() method). | 
String | 
toString() | 
disableTracing, enableTracing, getConsistencyLevel, getDefaultTimestamp, getFetchSize, getRetryPolicy, getSerialConsistencyLevel, isTracing, setConsistencyLevel, setDefaultTimestamp, setFetchSize, setIdempotent, setOutgoingPayload, setPagingState, setPagingStateUnsafe, setRetryPolicy, setSerialConsistencyLevelpublic String getQueryString()
RegularStatementgetQueryString in class RegularStatementpublic ByteBuffer getRoutingKey()
Statement
 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.
getRoutingKey in class Statementnull.public String getKeyspace()
Statement
 Note that not all query specify on which keyspace they operate on, and
 so this method can always return 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.
getKeyspace in class Statementnull.public ByteBuffer[] getValues()
 Note: Values for a RegularStatement (i.e. if this method does not return
 null) are not supported with the native protocol version 1: you
 will get an UnsupportedProtocolVersionException when submitting
 one if version 1 of the protocol is in use (i.e. if you've force version
 1 through Cluster.Builder.withProtocolVersion(com.datastax.driver.core.ProtocolVersion) or you use
 Cassandra 1.2).
 
 Note: Calling this method may trigger the underlying Cluster initialization.
getValues in class RegularStatementSimpleStatement.SimpleStatement(String, Cluster, Object...)public boolean hasValues()
RegularStatementgetValues
 will return null or not.hasValues in class RegularStatementfalse if RegularStatement.getValues() returns null, true
 otherwise.public Boolean isIdempotent()
Statement
 Idempotence plays a role in speculative executions.
 If a statement is not idempotent, the driver will not schedule speculative
 executions for it.
 
 Note that this method can return null, in which case the driver will default to
 QueryOptions.getDefaultIdempotence().
 
 By default, this method returns null for all statements, except for
 BuiltStatements, where the value will be inferred from the query: if it updates
 counters, prepends/appends to a list, or uses a function call or
 QueryBuilder.raw(String) anywhere in an inserted value,
 the result will be false; otherwise it will be true.
 In all cases, calling Statement.setIdempotent(boolean) forces a value that overrides every other mechanism.
isIdempotent in class Statementnull to use
 QueryOptions.getDefaultIdempotence().public String toString()
 Note: Calling this method may trigger the underlying Cluster initialization.
toString in class RegularStatementpublic RegularStatement setForceNoValues(boolean forceNoValues)
getValues() method).
 
 By default (and unless the protocol version 1 is in use, see below) 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 guaranteed that getValues() will
 return null and that the string returned by getQueryString() will contain no other bind markers than the one
 inputted by the user.
 
 If the native protocol version 1 is in use, the driver will default
 to not generating values since those are not supported by that version of
 the protocol. In practice, the driver will automatically call this method
 with true as argument prior to execution. Hence, calling this
 method when the protocol version 1 is in use is basically a no-op.
 
Note that this method is mainly useful for debugging purpose. In general, the default behavior should be the correct and most efficient one.
forceNoValues - whether or not this builder may generate values.Copyright © 2012–2015. All rights reserved.