public abstract class TokenRestriction
extends java.lang.Object
Restriction
using the token function.Modifier and Type | Class and Description |
---|---|
static class |
TokenRestriction.EQRestriction |
static class |
TokenRestriction.SliceRestriction |
Modifier and Type | Field and Description |
---|---|
protected java.util.List<ColumnMetadata> |
columnDefs
The definition of the columns to which apply the token restriction.
|
protected TableMetadata |
metadata |
Constructor and Description |
---|
TokenRestriction(TableMetadata metadata,
java.util.List<ColumnMetadata> columnDefs)
Creates a new
TokenRestriction that apply to the specified columns. |
Modifier and Type | Method and Description |
---|---|
void |
addRowFilterTo(RowFilter filter,
IndexRegistry indexRegistry,
QueryOptions options)
Adds to the specified row filter the expressions corresponding to this
Restriction . |
java.util.List<java.nio.ByteBuffer> |
bounds(Bound b,
QueryOptions options) |
protected abstract org.apache.cassandra.cql3.restrictions.PartitionKeyRestrictions |
doMergeWith(TokenRestriction otherRestriction)
Merges this restriction with the specified
TokenRestriction . |
java.util.List<ColumnMetadata> |
getColumnDefs()
Returns the column definitions in position order.
|
protected java.lang.String |
getColumnNamesAsString()
Returns the column names as a comma separated
String . |
ColumnMetadata |
getFirstColumn()
Returns the definition of the first column.
|
ColumnMetadata |
getLastColumn()
Returns the definition of the last column.
|
java.util.Set<Restriction> |
getRestrictions(ColumnMetadata columnDef)
Returns the restrictions applied to the specified column.
|
boolean |
hasBound(Bound b)
Checks if the specified bound is set or not.
|
boolean |
hasIN()
Checks if any of the underlying restriction is an IN.
|
boolean |
hasOnlyEqualityRestrictions()
Checks if all of the underlying restrictions are EQ or IN restrictions.
|
boolean |
hasSlice()
Checks if any of the underlying restrictions is a slice.
|
boolean |
hasSupportingIndex(IndexRegistry indexRegistry)
Check if the restriction is on indexed columns.
|
boolean |
hasUnrestrictedPartitionKeyComponents(TableMetadata table)
Checks if the partition key has unrestricted components.
|
boolean |
isEmpty()
Checks if this
Restrictions is empty or not. |
boolean |
isInclusive(Bound b)
Checks if the specified bound is inclusive or not.
|
boolean |
isOnToken() |
org.apache.cassandra.cql3.restrictions.PartitionKeyRestrictions |
mergeWith(Restriction otherRestriction) |
boolean |
needFiltering(TableMetadata table)
checks if specified restrictions require filtering
|
int |
size()
Returns the number of columns that have a restriction.
|
java.util.List<java.nio.ByteBuffer> |
values(QueryOptions options) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
hasContains
addFunctionsTo
protected final java.util.List<ColumnMetadata> columnDefs
protected final TableMetadata metadata
public TokenRestriction(TableMetadata metadata, java.util.List<ColumnMetadata> columnDefs)
TokenRestriction
that apply to the specified columns.columnDefs
- the definition of the columns to which apply the token restrictionpublic boolean hasIN()
Restrictions
true
if any of the underlying restriction is an IN, false
otherwisepublic boolean hasOnlyEqualityRestrictions()
Restrictions
true
if all of the underlying restrictions are EQ or IN restrictions,
false
otherwisepublic java.util.Set<Restriction> getRestrictions(ColumnMetadata columnDef)
Restrictions
columnDef
- the column definitionpublic final boolean isOnToken()
public boolean needFiltering(TableMetadata table)
table
- column family metadatatrue
if filtering is required, false
otherwisepublic boolean hasSlice()
Restrictions
true
if any of the underlying restrictions is a slice, false
otherwisepublic boolean hasUnrestrictedPartitionKeyComponents(TableMetadata table)
table
- column family metadatatrue
if the partition key has unrestricted components, false
otherwise.public java.util.List<ColumnMetadata> getColumnDefs()
Restriction
public ColumnMetadata getFirstColumn()
Restriction
public ColumnMetadata getLastColumn()
Restriction
public boolean hasSupportingIndex(IndexRegistry indexRegistry)
Restriction
indexRegistry
- the index registrytrue
if the restriction is on indexed columns, false
public void addRowFilterTo(RowFilter filter, IndexRegistry indexRegistry, QueryOptions options)
Restriction
Restriction
.filter
- the row filter to add expressions toindexRegistry
- the index registryoptions
- the query optionspublic final boolean isEmpty()
Restrictions
Restrictions
is empty or not.true
if this Restrictions
is empty, false
otherwise.public final int size()
Restrictions
protected final java.lang.String getColumnNamesAsString()
String
.String
.public final org.apache.cassandra.cql3.restrictions.PartitionKeyRestrictions mergeWith(Restriction otherRestriction) throws InvalidRequestException
InvalidRequestException
protected abstract org.apache.cassandra.cql3.restrictions.PartitionKeyRestrictions doMergeWith(TokenRestriction otherRestriction) throws InvalidRequestException
TokenRestriction
.otherRestriction
- the TokenRestriction
to merge with.InvalidRequestException
public java.util.List<java.nio.ByteBuffer> values(QueryOptions options)
public java.util.List<java.nio.ByteBuffer> bounds(Bound b, QueryOptions options)
public boolean hasBound(Bound b)
b
- the bound typetrue
if the specified bound is set, false
otherwisepublic boolean isInclusive(Bound b)
b
- the bound typetrue
if the specified bound is inclusive, false
otherwiseCopyright © 2009- The Apache Software Foundation