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 call freeBefore(int).
  • Constructor Details

    • RollingCharBuffer

      public RollingCharBuffer()
  • Method Details

    • 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.