Class BufferedLineReaderInputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class BufferedLineReaderInputStream
    extends LineReaderInputStream
    Input buffer that can be used to search for patterns using Quick Search algorithm in data read from an InputStream.
    • Field Detail

      • _recyclerRef

        protected static final java.lang.ThreadLocal<java.lang.ref.SoftReference<BufferRecycler>> _recyclerRef
      • truncated

        private boolean truncated
      • tempBuffer

        boolean tempBuffer
      • origBuffer

        private byte[] origBuffer
      • origBufpos

        private int origBufpos
      • origBuflen

        private int origBuflen
      • buffer

        private byte[] buffer
      • bufpos

        private int bufpos
      • buflen

        private int buflen
      • shiftTable

        private int[] shiftTable
      • maxLineLen

        private final int maxLineLen
    • Constructor Detail

      • BufferedLineReaderInputStream

        public BufferedLineReaderInputStream​(java.io.InputStream instream,
                                             int buffersize,
                                             int maxLineLen)
      • BufferedLineReaderInputStream

        public BufferedLineReaderInputStream​(java.io.InputStream instream,
                                             int buffersize)
    • Method Detail

      • getBufferRecycler

        public static BufferRecycler getBufferRecycler()
      • expand

        private void expand​(int newlen)
      • ensureCapacity

        public void ensureCapacity​(int len)
      • fillBuffer

        public int fillBuffer()
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • bufferLen

        private int bufferLen()
      • hasBufferedData

        public boolean hasBufferedData()
      • truncate

        public void truncate()
      • release

        public void release()
      • readAllowed

        protected boolean readAllowed()
      • read

        public int read()
                 throws java.io.IOException
        Overrides:
        read in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws java.io.IOException
        Overrides:
        read in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] b)
                 throws java.io.IOException
        Overrides:
        read in class java.io.FilterInputStream
        Throws:
        java.io.IOException
      • markSupported

        public boolean markSupported()
        Overrides:
        markSupported in class java.io.FilterInputStream
      • indexOf

        public int indexOf​(byte[] pattern,
                           int off,
                           int len)
        Implements quick search algorithm as published by

        SUNDAY D.M., 1990, A very fast substring search algorithm, Communications of the ACM . 33(8):132-142.

      • indexOf

        public int indexOf​(byte[] pattern)
        Implements quick search algorithm as published by

        SUNDAY D.M., 1990, A very fast substring search algorithm, Communications of the ACM . 33(8):132-142.

      • indexOf

        public int indexOf​(byte b,
                           int off,
                           int len)
      • indexOf

        public int indexOf​(byte b)
      • byteAt

        public int byteAt​(int pos)
      • buf

        protected byte[] buf()
      • pos

        protected int pos()
      • limit

        protected int limit()
      • length

        protected int length()
      • capacity

        public int capacity()
      • skip

        protected int skip​(int n)
      • clear

        private void clear()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • unread

        public boolean unread​(ByteArrayBuffer buf)
        Description copied from class: LineReaderInputStream
        Tries to unread the last read line. Implementation may refuse to unread a new buffer until the previous unread one has been competely consumed. Implementations will directly use the byte array backed by buf, so make sure to not alter it anymore once this method has been called.
        Specified by:
        unread in class LineReaderInputStream
        Returns:
        true if the unread has been succesfull.