org.apache.lucene.index

## Class FilterAtomicReader.FilterFields

- java.lang.Object
- - org.apache.lucene.index.Fields
  - - org.apache.lucene.index.FilterAtomicReader.FilterFields

All Implemented Interfaces:
  Iterable<String>

Enclosing class:
  FilterAtomicReader

    public static class FilterAtomicReader.FilterFields
    extends Fields

Base class for filtering `Fields` implementations.

### Field Summary

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

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

`EMPTY_ARRAY`

### Constructor Summary

Constructors
Constructor and Description
`FilterAtomicReader.FilterFields(Fields in)` Creates a new FilterFields.

### Method Summary

Methods
`long` `getUniqueTermCount()` Returns the number of terms for all fields, or -1 if this measure isn't stored by the codec.
`Iterator<String>` `iterator()` Returns an iterator that will step through all fields names.
`int` `size()` Returns the number of fields or -1 if the number of distinct field names is unknown.
`Terms` `terms(String field)` Get the `Terms` for this field.

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

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

### Field Detail

#### in

    protected final Fields in

The underlying Fields instance.

### Constructor Detail

#### FilterAtomicReader.FilterFields

    public FilterAtomicReader.FilterFields(Fields in)

Creates a new FilterFields.

Parameters:
  `in` - the underlying Fields instance.

### Method Detail

#### iterator

    public Iterator<String> iterator()

Description copied from class: `Fields`
Returns an iterator that will step through all fields names. This will not return null.

Specified by:
  `iterator` in interface `Iterable<String>`
Specified by:
  `iterator` in class `Fields`

#### terms

    public Terms terms(String field)
                throws IOException

Description copied from class: `Fields`
Get the `Terms` for this field. This will return null if the field does not exist.

Specified by:
  `terms` in class `Fields`
Throws:
  `IOException`

#### size

    public int size()

Description copied from class: `Fields`
Returns the number of fields or -1 if the number of distinct field names is unknown. If >= 0, `Fields.iterator()` will return as many field names.

Specified by:
  `size` in class `Fields`

#### getUniqueTermCount

    public long getUniqueTermCount()
                            throws IOException

Description copied from class: `Fields`
Returns the number of terms for all fields, 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.

Overrides:
  `getUniqueTermCount` in class `Fields`
Throws:
  `IOException`
See Also:
  `Terms.size()`