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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `ColumnFamilyStore` | `cfs`
    `protected IDiskAtomFilter` | `originalFilter`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ExtendedFilter(ColumnFamilyStore cfs, IDiskAtomFilter filter, int maxResults, boolean countCQL3Rows, boolean isPaging)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ExtendedFilter` | `create(ColumnFamilyStore cfs, IDiskAtomFilter filter, java.util.List<IndexExpression> clause, int maxResults, boolean countCQL3Rows, boolean isPaging)`
    `abstract java.util.List<IndexExpression>` | `getClause()`
    `abstract IDiskAtomFilter` | `getExtraFilter(ColumnFamily data)` Returns a filter to query the columns from the clause that the initial slice filter may not have caught.
    `abstract IDiskAtomFilter` | `initialFilter()` The initial filter we'll do our first slice with (either the original or a superset of it)
    `abstract boolean` | `isSatisfiedBy(ColumnFamily data, ColumnNameBuilder builder)`
    `int` | `lastCounted(ColumnFamily data)`
    `int` | `maxColumns()`
    `int` | `maxRows()`
    `IDiskAtomFilter` | `originalFilter()`
    `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 IDiskAtomFilter originalFilter

  - ### Constructor Detail

    - #### ExtendedFilter

          protected ExtendedFilter(ColumnFamilyStore cfs,
                        IDiskAtomFilter filter,
                        int maxResults,
                        boolean countCQL3Rows,
                        boolean isPaging)

  - ### Method Detail

    - #### create

          public static ExtendedFilter create(ColumnFamilyStore cfs,
                              IDiskAtomFilter filter,
                              java.util.List<IndexExpression> clause,
                              int maxResults,
                              boolean countCQL3Rows,
                              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.

    - #### lastCounted

          public int lastCounted(ColumnFamily data)

    - #### initialFilter

          public abstract IDiskAtomFilter initialFilter()

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

    - #### originalFilter

          public IDiskAtomFilter originalFilter()

    - #### getClause

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

    - #### getExtraFilter

          public abstract IDiskAtomFilter 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,
                              ColumnNameBuilder builder)

      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 © 2014 The Apache Software Foundation