org.apache.lucene.queries

## Class BooleanFilter

- java.lang.Object
- - org.apache.lucene.search.Filter
  - - org.apache.lucene.queries.BooleanFilter

All Implemented Interfaces:
  Iterable<FilterClause>

    public class BooleanFilter
    extends Filter
    implements Iterable<FilterClause>

A container Filter that allows Boolean composition of Filters. Filters are allocated into one of three logical constructs; SHOULD, MUST NOT, MUST The results Filter BitSet is constructed as follows: SHOULD Filters are OR'd together The resulting Filter is NOT'd with the NOT Filters The resulting Filter is AND'd with the MUST Filters

### Constructor Summary

Constructors
Constructor and Description
`BooleanFilter()`

### Method Summary

Methods
`void` `add(Filter filter, BooleanClause.Occur occur)`
`void` `add(FilterClause filterClause)` Adds a new FilterClause to the Boolean Filter container
`List<FilterClause>` `clauses()` Returns the list of clauses
`boolean` `equals(Object obj)`
`DocIdSet` `getDocIdSet(AtomicReaderContext context, Bits acceptDocs)` Returns the a DocIdSetIterator representing the Boolean composition of the filters that have been added.
`int` `hashCode()`
`Iterator<FilterClause>` `iterator()` Returns an iterator on the clauses in this query.
`String` `toString()` Prints a user-readable version of this Filter.

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

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

### Constructor Detail

#### BooleanFilter

    public BooleanFilter()

### Method Detail

#### getDocIdSet

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

Returns the a DocIdSetIterator representing the Boolean composition of the filters that have been added.

Specified by:
  `getDocIdSet` in class `Filter`
Throws:
  `IOException`

#### add

    public void add(FilterClause filterClause)

Adds a new FilterClause to the Boolean Filter container

Parameters:
  `filterClause` - A FilterClause object containing a Filter and an Occur parameter

#### add

    public final void add(Filter filter,
           BooleanClause.Occur occur)

#### clauses

    public List<FilterClause> clauses()

Returns the list of clauses

#### iterator

    public final Iterator<FilterClause> iterator()

Returns an iterator on the clauses in this query. It implements the `Iterable` interface to make it possible to do:

    for (FilterClause clause : booleanFilter) {}

Specified by:
  `iterator` in interface `Iterable<FilterClause>`

#### equals

    public boolean equals(Object obj)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### toString

    public String toString()

Prints a user-readable version of this Filter.

Overrides:
  `toString` in class `Object`