org.compass.core.lucene.util
Class ChainedFilter

java.lang.Object
  extended by org.apache.lucene.search.Filter
      extended by org.compass.core.lucene.util.ChainedFilter
All Implemented Interfaces:
Serializable

public class ChainedFilter
extends Filter

Allows multiple Filters to be chained. Logical operations such as NOT and XOR are applied between filters. One operation can be used for all filters, or a specific operation can be declared for each filter.

Order in which filters are called depends on the position of the filter in the chain. It's probably more efficient to place the most restrictive filters /least computationally-intensive filters first.

Author:
Kelvin Tan
See Also:
Serialized Form

Nested Class Summary
static class ChainedFilter.ChainedFilterType
           
 
Field Summary
static ChainedFilter.ChainedFilterType DEFAULT
          Logical operation when none is declared.
 
Constructor Summary
ChainedFilter(Filter[] chain)
          Ctor.
ChainedFilter(Filter[] chain, ChainedFilter.ChainedFilterType logic)
          Ctor.
ChainedFilter(Filter[] chain, ChainedFilter.ChainedFilterType[] logicArray)
          Ctor.
 
Method Summary
 BitSet bits(IndexReader reader)
          Filter.bits(org.apache.lucene.index.IndexReader).
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT

public static ChainedFilter.ChainedFilterType DEFAULT
Logical operation when none is declared. Defaults to BitSet.or(java.util.BitSet).

Constructor Detail

ChainedFilter

public ChainedFilter(Filter[] chain)
Ctor.

Parameters:
chain - The chain of filters

ChainedFilter

public ChainedFilter(Filter[] chain,
                     ChainedFilter.ChainedFilterType[] logicArray)
Ctor.

Parameters:
chain - The chain of filters
logicArray - Logical operations to apply between filters

ChainedFilter

public ChainedFilter(Filter[] chain,
                     ChainedFilter.ChainedFilterType logic)
Ctor.

Parameters:
chain - The chain of filters
logic - Logicial operation to apply to ALL filters
Method Detail

bits

public BitSet bits(IndexReader reader)
            throws IOException
Filter.bits(org.apache.lucene.index.IndexReader).

Specified by:
bits in class Filter
Throws:
IOException

toString

public String toString()
Overrides:
toString in class Object


Copyright (c) 2004-2008 The Compass Project.