org.apache.lucene.index

## Class FilterLeafReader.FilterTerms

- java.lang.Object
- - org.apache.lucene.index.Terms
  - - org.apache.lucene.index.FilterLeafReader.FilterTerms

Direct Known Subclasses:
  ExitableDirectoryReader.ExitableTerms

Enclosing class:
  FilterLeafReader

    public abstract static class FilterLeafReader.FilterTerms
    extends Terms

Base class for filtering `Terms` implementations.

NOTE: If the order of terms and documents is not changed, and if these terms are going to be intersected with automata, you could consider overriding `Terms.intersect(org.apache.lucene.util.automaton.CompiledAutomaton, org.apache.lucene.util.BytesRef)` for better performance.

### Field Summary

Fields
`protected Terms` `in` The underlying Terms instance.

### Fields inherited from class org.apache.lucene.index.Terms

`EMPTY_ARRAY`

### Constructor Summary

Constructors
Constructor and Description
`FilterTerms(Terms in)` Creates a new FilterTerms

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `getDocCount()` Returns the number of documents that have at least one term for this field.
`Object` `getStats()` Expert: returns additional information about this Terms instance for debugging purposes.
`long` `getSumDocFreq()` Returns the sum of `TermsEnum.docFreq()` for all terms in this field.
`long` `getSumTotalTermFreq()` Returns the sum of `TermsEnum.totalTermFreq()` for all terms in this field.
`boolean` `hasFreqs()` Returns true if documents in this field store per-document term frequency (`PostingsEnum.freq()`).
`boolean` `hasOffsets()` Returns true if documents in this field store offsets.
`boolean` `hasPayloads()` Returns true if documents in this field store payloads.
`boolean` `hasPositions()` Returns true if documents in this field store positions.
`TermsEnum` `iterator()` Returns an iterator that will step through all terms.
`long` `size()` Returns the number of terms for this field, or -1 if this measure isn't stored by the codec.

### Methods inherited from class org.apache.lucene.index.Terms

`getMax, getMin, intersect`

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### in

    protected final Terms in

The underlying Terms instance.

### Constructor Detail

#### FilterTerms

    public FilterTerms(Terms in)

Creates a new FilterTerms

Parameters:
  `in` - the underlying Terms instance.

### Method Detail

#### iterator

    public TermsEnum iterator()
                       throws IOException

Description copied from class: `Terms`
Returns an iterator that will step through all terms. This method will not return null.

Specified by:
  `iterator` in class `Terms`
Throws:
  `IOException`

#### size

    public long size()
              throws IOException

Description copied from class: `Terms`
Returns the number of terms for this field, or -1 if this measure isn't stored by the codec. Note that, just like other term measures, this measure does not take deleted documents into account.

Specified by:
  `size` in class `Terms`
Throws:
  `IOException`

#### getSumTotalTermFreq

    public long getSumTotalTermFreq()
                             throws IOException

Description copied from class: `Terms`
Returns the sum of `TermsEnum.totalTermFreq()` for all terms in this field. Note that, just like other term measures, this measure does not take deleted documents into account.

Specified by:
  `getSumTotalTermFreq` in class `Terms`
Throws:
  `IOException`

#### getSumDocFreq

    public long getSumDocFreq()
                       throws IOException

Description copied from class: `Terms`
Returns the sum of `TermsEnum.docFreq()` for all terms in this field. Note that, just like other term measures, this measure does not take deleted documents into account.

Specified by:
  `getSumDocFreq` in class `Terms`
Throws:
  `IOException`

#### getDocCount

    public int getDocCount()
                    throws IOException

Description copied from class: `Terms`
Returns the number of documents that have at least one term for this field. Note that, just like other term measures, this measure does not take deleted documents into account.

Specified by:
  `getDocCount` in class `Terms`
Throws:
  `IOException`

#### hasFreqs

    public boolean hasFreqs()

Description copied from class: `Terms`
Returns true if documents in this field store per-document term frequency (`PostingsEnum.freq()`).

Specified by:
  `hasFreqs` in class `Terms`

#### hasOffsets

    public boolean hasOffsets()

Description copied from class: `Terms`
Returns true if documents in this field store offsets.

Specified by:
  `hasOffsets` in class `Terms`

#### hasPositions

    public boolean hasPositions()

Description copied from class: `Terms`
Returns true if documents in this field store positions.

Specified by:
  `hasPositions` in class `Terms`

#### hasPayloads

    public boolean hasPayloads()

Description copied from class: `Terms`
Returns true if documents in this field store payloads.

Specified by:
  `hasPayloads` in class `Terms`

#### getStats

    public Object getStats()
                    throws IOException

Description copied from class: `Terms`
Expert: returns additional information about this Terms instance for debugging purposes.

Overrides:
  `getStats` in class `Terms`
Throws:
  `IOException`