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 Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    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.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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.