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.