## org.apache.lucene.util
Class RollingCharBuffer

    java.lang.Object
      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.