Package org.apache.lucene.analysis.util
Class RollingCharBuffer
- java.lang.Object
-
- org.apache.lucene.analysis.util.RollingCharBuffer
-
public final class RollingCharBuffer extends Object
Acts like a forever growing char[] as you read characters into it from the provided reader, but internally it uses a circular buffer to only hold the characters that haven't been freed yet. This is like a PushbackReader, except you don't have to specify up-front the max size of the buffer, but you do have to periodically callfreeBefore(int)
.
-
-
Constructor Summary
Constructors Constructor Description RollingCharBuffer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
freeBefore(int pos)
Call this to notify us that no chars before this absolute position are needed anymore.int
get(int pos)
char[]
get(int posStart, int length)
void
reset(Reader reader)
Clear array and switch to new reader.
-
-
-
Method Detail
-
reset
public void reset(Reader reader)
Clear array and switch to new reader.
-
get
public int get(int pos) throws IOException
- Throws:
IOException
-
get
public char[] get(int posStart, int length)
-
freeBefore
public void freeBefore(int pos)
Call this to notify us that no chars before this absolute position are needed anymore.
-
-