org.apache.lucene.analysis

## Class Analyzer.ReuseStrategy

- java.lang.Object
- - org.apache.lucene.analysis.Analyzer.ReuseStrategy

Enclosing class:
  Analyzer

    public abstract static class Analyzer.ReuseStrategy
    extends Object

Strategy defining how TokenStreamComponents are reused per call to `Analyzer.tokenStream(String, java.io.Reader)`.

### Constructor Summary

Constructors
Constructor and Description
`ReuseStrategy()` Sole constructor.

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`abstract Analyzer.TokenStreamComponents` `getReusableComponents(Analyzer analyzer, String fieldName)` Gets the reusable TokenStreamComponents for the field with the given name.
`protected Object` `getStoredValue(Analyzer analyzer)` Returns the currently stored value.
`abstract void` `setReusableComponents(Analyzer analyzer, String fieldName, Analyzer.TokenStreamComponents components)` Stores the given TokenStreamComponents as the reusable components for the field with the give name.
`protected void` `setStoredValue(Analyzer analyzer, Object storedValue)` Sets the stored value.

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

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

### Constructor Detail

#### ReuseStrategy

    public ReuseStrategy()

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

### Method Detail

#### getReusableComponents

    public abstract Analyzer.TokenStreamComponents getReusableComponents(Analyzer analyzer,
                                                                         String fieldName)

Gets the reusable TokenStreamComponents for the field with the given name.

Parameters:
  `analyzer` - Analyzer from which to get the reused components. Use `getStoredValue(Analyzer)` and `setStoredValue(Analyzer, Object)` to access the data on the Analyzer.
  `fieldName` - Name of the field whose reusable TokenStreamComponents are to be retrieved
Returns:
  Reusable TokenStreamComponents for the field, or `null` if there was no previous components for the field

#### setReusableComponents

    public abstract void setReusableComponents(Analyzer analyzer,
                                               String fieldName,
                                               Analyzer.TokenStreamComponents components)

Stores the given TokenStreamComponents as the reusable components for the field with the give name.

Parameters:
  `fieldName` - Name of the field whose TokenStreamComponents are being set
  `components` - TokenStreamComponents which are to be reused for the field

#### getStoredValue

    protected final Object getStoredValue(Analyzer analyzer)

Returns the currently stored value.

Returns:
  Currently stored value or `null` if no value is stored
Throws:
  `AlreadyClosedException` - if the Analyzer is closed.

#### setStoredValue

    protected final void setStoredValue(Analyzer analyzer,
                                        Object storedValue)

Sets the stored value.

Parameters:
  `storedValue` - Value to store
Throws:
  `AlreadyClosedException` - if the Analyzer is closed.