org.apache.cassandra.db.filter
Class ExtendedFilter

java.lang.Object
  extended by org.apache.cassandra.db.filter.ExtendedFilter

public abstract class ExtendedFilter
extends java.lang.Object

Extends a column filter (IFilter) to include a number of IndexExpression.


Field Summary
 ColumnFamilyStore cfs
           
protected  IFilter originalFilter
           
 
Constructor Summary
protected ExtendedFilter(ColumnFamilyStore cfs, IFilter filter, int maxResults, boolean maxIsColumns, boolean isPaging)
           
 
Method Summary
static ExtendedFilter create(ColumnFamilyStore cfs, IFilter filter, java.util.List<IndexExpression> clause, int maxResults, boolean maxIsColumns, boolean isPaging)
           
abstract  java.util.List<IndexExpression> getClause()
           
abstract  IFilter getExtraFilter(ColumnFamily data)
          Returns a filter to query the columns from the clause that the initial slice filter may not have caught.
abstract  IFilter initialFilter()
          The initial filter we'll do our first slice with (either the original or a superset of it)
abstract  boolean isSatisfiedBy(ColumnFamily data)
           
 int maxColumns()
           
 int maxRows()
           
abstract  ColumnFamily prune(ColumnFamily data)
           
static boolean satisfies(int comparison, IndexOperator op)
           
 void updateFilter(int currentColumnsCount)
          Update the filter if necessary given the number of column already fetched.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cfs

public final ColumnFamilyStore cfs

originalFilter

protected final IFilter originalFilter
Constructor Detail

ExtendedFilter

protected ExtendedFilter(ColumnFamilyStore cfs,
                         IFilter filter,
                         int maxResults,
                         boolean maxIsColumns,
                         boolean isPaging)
Method Detail

create

public static ExtendedFilter create(ColumnFamilyStore cfs,
                                    IFilter filter,
                                    java.util.List<IndexExpression> clause,
                                    int maxResults,
                                    boolean maxIsColumns,
                                    boolean isPaging)

maxRows

public int maxRows()

maxColumns

public int maxColumns()

updateFilter

public void updateFilter(int currentColumnsCount)
Update the filter if necessary given the number of column already fetched.


initialFilter

public abstract IFilter initialFilter()
The initial filter we'll do our first slice with (either the original or a superset of it)


getClause

public abstract java.util.List<IndexExpression> getClause()

getExtraFilter

public abstract IFilter getExtraFilter(ColumnFamily data)
Returns a filter to query the columns from the clause that the initial slice filter may not have caught.

Parameters:
data - the data retrieve by the initial filter
Returns:
a filter or null if there can't be any columns we missed with our initial filter (typically if it was a names query, or a slice of the entire row)

prune

public abstract ColumnFamily prune(ColumnFamily data)
Returns:
data pruned down to the columns originally asked for

isSatisfiedBy

public abstract boolean isSatisfiedBy(ColumnFamily data)
Returns:
true if the provided data satisfies all the expressions from the clause of this filter.

satisfies

public static boolean satisfies(int comparison,
                                IndexOperator op)


Copyright © 2013 The Apache Software Foundation