Package 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
Modifier and Type
Field
Description
`static final Fields[]`
`EMPTY_ARRAY`
Zero-length `Fields` array.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`Fields()`
Sole constructor.

## Method Summary

Modifier and Type
Method
Description
`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 Details

### EMPTY_ARRAY

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

## Constructor Details

### Fields

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

## Method Details

### 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.