public abstract class CharFilter
extends java.io.Reader
Reader with additional offset
correction. Tokenizers will automatically use correctOffset(int)
if a CharFilter subclass is used.
This class is abstract: at a minimum you must implement Reader.read(char[], int, int),
transforming the input in some way from input, and correct(int)
to adjust the offsets to match the originals.
You can optionally provide more efficient implementations of additional methods
like Reader.read(), Reader.read(char[]), Reader.read(java.nio.CharBuffer),
but this is not required.
For examples and integration with Analyzer, see the
Analysis package documentation.
| Modifier and Type | Field and Description |
|---|---|
protected java.io.Reader |
input
The underlying character-input stream.
|
| Constructor and Description |
|---|
CharFilter(java.io.Reader input)
Create a new CharFilter wrapping the provided reader.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes the underlying input stream.
|
protected abstract int |
correct(int currentOff)
Subclasses override to correct the current offset.
|
int |
correctOffset(int currentOff)
Chains the corrected offset through the input
CharFilter(s).
|
public CharFilter(java.io.Reader input)
input - a Reader, can also be a CharFilter for chaining.public void close()
throws java.io.IOException
NOTE:
The default implementation closes the input Reader, so
be sure to call super.close() when overriding this method.
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.Readerjava.io.IOExceptionprotected abstract int correct(int currentOff)
currentOff - current offsetpublic final int correctOffset(int currentOff)
Copyright © 2000–2025 The Apache Software Foundation. All rights reserved.