org.apache.lucene.index

## Class Fields

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

All Implemented Interfaces:
  Iterable<String>

Direct Known Subclasses:
  FieldsProducer, FilterLeafReader.FilterFields, MultiFields

    public abstract class Fields
    extends Object
    implements Iterable<String>

Provides a `Terms` index for fields that have it, and lists which fields do. This is primarily an internal/experimental API (see `FieldsProducer`), although it is also used to expose the set of term vectors per document.

WARNING: This API is experimental and might change in incompatible ways in the next release.

### Field Summary

Fields
`static Fields[]` `EMPTY_ARRAY` Zero-length `Fields` array.

### Constructor Summary

Constructors
`protected` `Fields()` Sole constructor.

### Method Summary

All Methods Instance Methods Abstract Methods
`abstract Iterator<String>` `iterator()` Returns an iterator that will step through all fields names.
`abstract int` `size()` Returns the number of fields or -1 if the number of distinct field names is unknown.
`abstract 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`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Field Detail

#### EMPTY_ARRAY

    public static final Fields[] EMPTY_ARRAY

Zero-length `Fields` array.

### Constructor Detail

#### Fields

    protected Fields()

Sole constructor. (For invocation by subclass constructors, typically implicit.)

### Method Detail

#### iterator

    public abstract Iterator<String> iterator()

Returns an iterator that will step through all fields names. This will not return null.

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

#### terms

    public abstract Terms terms(String field)
                         throws IOException

Get the `Terms` for this field. This will return null if the field does not exist.

Throws:
  `IOException`

#### size

    public abstract int size()

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