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

NOTE: a `StoredFieldVisitor` implementation should not try to load or visit other stored documents in the same reader because the implementation of stored fields for most codecs is not reeentrant and you will see strange exceptions as a result.

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
`static class` `StoredFieldVisitor.Status` Enumeration of possible return values for `needsField(org.apache.lucene.index.FieldInfo)`.

Constructor Summary
`protected` `StoredFieldVisitor()` Sole constructor.

Method Summary
`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`

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.