org.apache.lucene.index

## Class StoredFieldVisitor

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

Direct Known Subclasses:
  DocumentStoredFieldVisitor

    public abstract class StoredFieldVisitor
    extends Object

Expert: provides a low-level means of accessing the stored field values in an index. See `IndexReader.document(int, StoredFieldVisitor)`. See `DocumentStoredFieldVisitor`, which is a `StoredFieldVisitor` that builds the `Document` containing all stored fields. This is used by `IndexReader.document(int)`.

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

### Nested Class Summary

Nested Classes
`static class` `StoredFieldVisitor.Status` Enumeration of possible return values for `needsField(org.apache.lucene.index.FieldInfo)`.

### Constructor Summary

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

### Method Summary

Methods
`void` `binaryField(FieldInfo fieldInfo, byte[] value)` Process a binary field.
`void` `doubleField(FieldInfo fieldInfo, double value)` Process a double numeric field.
`void` `floatField(FieldInfo fieldInfo, float value)` Process a float numeric field.
`void` `intField(FieldInfo fieldInfo, int value)` Process a int numeric field.
`void` `longField(FieldInfo fieldInfo, long value)` Process a long numeric field.
`abstract StoredFieldVisitor.Status` `needsField(FieldInfo fieldInfo)` Hook before processing a field.
`void` `stringField(FieldInfo fieldInfo, String value)` Process a string field

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

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

### Constructor Detail

#### StoredFieldVisitor

    protected StoredFieldVisitor()

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

### Method Detail

#### binaryField

    public void binaryField(FieldInfo fieldInfo,
                   byte[] value)
                     throws IOException

Process a binary field.

Parameters:
  `value` - newly allocated byte array with the binary contents.
Throws:
  `IOException`

#### stringField

    public void stringField(FieldInfo fieldInfo,
                   String value)
                     throws IOException

Process a string field

Throws:
  `IOException`

#### intField

    public void intField(FieldInfo fieldInfo,
                int value)
                  throws IOException

Process a int numeric field.

Throws:
  `IOException`

#### longField

    public void longField(FieldInfo fieldInfo,
                 long value)
                   throws IOException

Process a long numeric field.

Throws:
  `IOException`

#### floatField

    public void floatField(FieldInfo fieldInfo,
                  float value)
                    throws IOException

Process a float numeric field.

Throws:
  `IOException`

#### doubleField

    public void doubleField(FieldInfo fieldInfo,
                   double value)
                     throws IOException

Process a double numeric field.

Throws:
  `IOException`

#### needsField

    public abstract StoredFieldVisitor.Status needsField(FieldInfo fieldInfo)
                                                  throws IOException

Hook before processing a field. Before a field is processed, this method is invoked so that subclasses can return a `StoredFieldVisitor.Status` representing whether they need that particular field or not, or to stop processing entirely.

Throws:
  `IOException`