Package 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
  Modifier
  Constructor
  Description
  `protected`
  `ReuseStrategy()`
  Sole constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract Analyzer.TokenStreamComponents`
  `getReusableComponents(Analyzer analyzer, String fieldName)`
  Gets the reusable TokenStreamComponents for the field with the given name.
  `protected final 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 final 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 Details

  - ### ReuseStrategy

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

- ## Method Details

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