## org.apache.cassandra.db.filter
Class ExtendedFilter

    java.lang.Object
      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