org.apache.lucene.search

## Class CachingWrapperFilter

- java.lang.Object
- - org.apache.lucene.search.Filter
  - - org.apache.lucene.search.CachingWrapperFilter

-     public class CachingWrapperFilter
      extends Filter

  Wraps another `Filter`'s result and caches it. The purpose is to allow filters to simply filter, and then wrap with this class to add caching.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CachingWrapperFilter(Filter filter)` Wraps another filter's result and caches it.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected DocIdSet` | `docIdSetToCache(DocIdSet docIdSet, AtomicReader reader)` Provide the DocIdSet to be cached, using the DocIdSet provided by the wrapped Filter.
    `boolean` | `equals(Object o)`
    `DocIdSet` | `getDocIdSet(AtomicReaderContext context, Bits acceptDocs)` Creates a `DocIdSet` enumerating the documents that should be permitted in search results.
    `int` | `hashCode()`
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### CachingWrapperFilter

          public CachingWrapperFilter(Filter filter)

      Wraps another filter's result and caches it.
      Parameters:
        `filter` - Filter to cache results of

  - ### Method Detail

    - #### docIdSetToCache

          protected DocIdSet docIdSetToCache(DocIdSet docIdSet,
                                 AtomicReader reader)
                                      throws IOException

      Provide the DocIdSet to be cached, using the DocIdSet provided by the wrapped Filter.

      This implementation returns the given `DocIdSet`, if `DocIdSet.isCacheable()` returns `true`, else it copies the `DocIdSetIterator` into a `FixedBitSet`.

      Throws:
        `IOException`

    - #### getDocIdSet

          public DocIdSet getDocIdSet(AtomicReaderContext context,
                             Bits acceptDocs)
                               throws IOException

      Description copied from class: `Filter`
      Creates a `DocIdSet` enumerating the documents that should be permitted in search results. NOTE: null can be returned if no documents are accepted by this Filter.

      Note: This method will be called once per segment in the index during searching. The returned `DocIdSet` must refer to document IDs for that segment, not for the top-level reader.

      Specified by:
        `getDocIdSet` in class `Filter`
      Parameters:
        `context` - a `AtomicReaderContext` instance opened on the index currently searched on. Note, it is likely that the provided reader info does not represent the whole underlying index i.e. if the index has more than one segment the given reader only represents a single segment. The provided context is always an atomic context, so you can call `AtomicReader.fields()` on the context's reader, for example.
        `acceptDocs` - Bits that represent the allowable docs to match (typically deleted docs but possibly filtering other documents)
      Returns:
        a DocIdSet that provides the documents which should be permitted or prohibited in search results. NOTE: null can be returned if no documents will be accepted by this Filter.
      Throws:
        `IOException`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.