public abstract class TokenRestriction
extends java.lang.Object
Restriction
using the token function.Modifier and Type | Class and Description |
---|---|
static class |
TokenRestriction.EQ |
static class |
TokenRestriction.Slice |
Modifier and Type | Field and Description |
---|---|
protected java.util.List<ColumnDefinition> |
columnDefs
The definition of the columns to which apply the token restriction.
|
protected CType |
ctype
The composite type.
|
Constructor and Description |
---|
TokenRestriction(CType ctype,
java.util.List<ColumnDefinition> columnDefs)
Creates a new
TokenRestriction that apply to the specified columns. |
Modifier and Type | Method and Description |
---|---|
void |
addIndexExpressionTo(java.util.List<IndexExpression> expressions,
SecondaryIndexManager indexManager,
QueryOptions options)
Adds to the specified list the
IndexExpression s corresponding to this Restriction . |
CompositesBuilder |
appendBoundTo(CompositesBuilder builder,
Bound bound,
QueryOptions options)
Appends the values of the
Restriction for the specified bound to the specified builder. |
CompositesBuilder |
appendTo(CompositesBuilder builder,
QueryOptions options)
Appends the values of this
Restriction to the specified builder. |
java.util.List<java.nio.ByteBuffer> |
bounds(Bound b,
QueryOptions options) |
java.util.List<Composite> |
boundsAsComposites(Bound bound,
QueryOptions options) |
protected abstract org.apache.cassandra.cql3.restrictions.PrimaryKeyRestrictions |
doMergeWith(TokenRestriction otherRestriction)
Merges this restriction with the specified
TokenRestriction . |
java.util.Collection<ColumnDefinition> |
getColumnDefs()
Returns the column definitions in position order.
|
protected java.lang.String |
getColumnNamesAsString()
Returns the column names as a comma separated
String . |
ColumnDefinition |
getFirstColumn()
Returns the definition of the first column.
|
java.lang.Iterable<Function> |
getFunctions()
Return an Iterable over all of the functions (both native and user-defined) used by any component
of the restrictions
|
ColumnDefinition |
getLastColumn()
Returns the definition of the last column.
|
boolean |
hasBound(Bound b)
Checks if the specified bound is set or not.
|
boolean |
hasSupportingIndex(SecondaryIndexManager secondaryIndexManager)
Check if the restriction is on indexed columns.
|
boolean |
isContains() |
boolean |
isEmpty()
Checks if this
PrimaryKeyRestrictionSet is empty or not. |
boolean |
isEQ() |
boolean |
isIN() |
boolean |
isInclusive(Bound b)
Checks if the specified bound is inclusive or not.
|
boolean |
isMultiColumn() |
boolean |
isOnToken() |
boolean |
isSlice() |
org.apache.cassandra.cql3.restrictions.PrimaryKeyRestrictions |
mergeWith(Restriction otherRestriction)
Merges this restriction with the specified one.
|
int |
size()
Returns the number of columns that have a restriction.
|
protected static java.nio.ByteBuffer |
validateIndexedValue(ColumnSpecification columnSpec,
java.nio.ByteBuffer value) |
java.util.List<java.nio.ByteBuffer> |
values(QueryOptions options) |
java.util.List<Composite> |
valuesAsComposites(QueryOptions options) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
appendBoundTo, getFunctions, hasBound, isContains, isEQ, isIN, isInclusive, isMultiColumn, isSlice
protected final java.util.List<ColumnDefinition> columnDefs
protected final CType ctype
public TokenRestriction(CType ctype, java.util.List<ColumnDefinition> columnDefs)
TokenRestriction
that apply to the specified columns.ctype
- the composite typecolumnDefs
- the definition of the columns to which apply the token restrictionpublic boolean isOnToken()
isOnToken
in interface Restriction
public java.util.Collection<ColumnDefinition> getColumnDefs()
Restriction
public ColumnDefinition getFirstColumn()
Restriction
public ColumnDefinition getLastColumn()
Restriction
public boolean hasSupportingIndex(SecondaryIndexManager secondaryIndexManager)
Restriction
secondaryIndexManager
- the index managertrue
if the restriction is on indexed columns, false
public final void addIndexExpressionTo(java.util.List<IndexExpression> expressions, SecondaryIndexManager indexManager, QueryOptions options)
Restriction
IndexExpression
s corresponding to this Restriction
.expressions
- the list to add the IndexExpression
s toindexManager
- the secondary index manageroptions
- the query optionspublic CompositesBuilder appendTo(CompositesBuilder builder, QueryOptions options)
Restriction
Restriction
to the specified builder.builder
- the CompositesBuilder
to append to.options
- the query optionsCompositesBuilder
public java.util.List<Composite> valuesAsComposites(QueryOptions options) throws InvalidRequestException
InvalidRequestException
public java.util.List<Composite> boundsAsComposites(Bound bound, QueryOptions options) throws InvalidRequestException
InvalidRequestException
protected final java.lang.String getColumnNamesAsString()
String
.String
.public final org.apache.cassandra.cql3.restrictions.PrimaryKeyRestrictions mergeWith(Restriction otherRestriction) throws InvalidRequestException
Restriction
Restriction are immutable. Therefore merging two restrictions result in a new one. The reason behind this choice is that it allow a great flexibility in the way the merging can done while preventing any side effect.
otherRestriction
- the restriction to merge into this oneInvalidRequestException
- if the restrictions cannot be mergedprotected abstract org.apache.cassandra.cql3.restrictions.PrimaryKeyRestrictions doMergeWith(TokenRestriction otherRestriction) throws InvalidRequestException
TokenRestriction
.otherRestriction
- the TokenRestriction
to merge with.InvalidRequestException
public java.util.List<java.nio.ByteBuffer> bounds(Bound b, QueryOptions options) throws InvalidRequestException
InvalidRequestException
public final boolean isEmpty()
PrimaryKeyRestrictionSet
is empty or not.true
if this PrimaryKeyRestrictionSet
is empty, false
otherwise.public final int size()
public java.util.List<java.nio.ByteBuffer> values(QueryOptions options) throws InvalidRequestException
InvalidRequestException
public java.lang.Iterable<Function> getFunctions()
public boolean isMultiColumn()
isMultiColumn
in interface Restriction
public boolean isSlice()
isSlice
in interface Restriction
public boolean isEQ()
isEQ
in interface Restriction
public boolean isIN()
isIN
in interface Restriction
public boolean isContains()
isContains
in interface Restriction
public boolean hasBound(Bound b)
Restriction
hasBound
in interface Restriction
b
- the bound typetrue
if the specified bound is set, false
otherwisepublic CompositesBuilder appendBoundTo(CompositesBuilder builder, Bound bound, QueryOptions options)
Restriction
Restriction
for the specified bound to the specified builder.appendBoundTo
in interface Restriction
builder
- the CompositesBuilder
to append to.bound
- the boundoptions
- the query optionsCompositesBuilder
public boolean isInclusive(Bound b)
Restriction
isInclusive
in interface Restriction
b
- the bound typetrue
if the specified bound is inclusive, false
otherwiseprotected static java.nio.ByteBuffer validateIndexedValue(ColumnSpecification columnSpec, java.nio.ByteBuffer value) throws InvalidRequestException
InvalidRequestException
Copyright © 2015 The Apache Software Foundation