Class RollingCharBuffer


  • public final class RollingCharBuffer
    extends java.lang.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).
    • 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​(java.io.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 Detail

      • RollingCharBuffer

        public RollingCharBuffer()
    • Method Detail

      • reset

        public void reset​(java.io.Reader reader)
        Clear array and switch to new reader.
      • get

        public int get​(int pos)
                throws java.io.IOException
        Throws:
        java.io.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.