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

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