org.apache.lucene.util
Class RollingCharBuffer

java.lang.Object
  extended by org.apache.lucene.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 call freeBefore(int).


Constructor Summary
RollingCharBuffer()
           
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RollingCharBuffer

public RollingCharBuffer()
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.