Class LineReaderInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
org.apache.james.mime4j.io.LineReaderInputStream
All Implemented Interfaces:
Closeable, AutoCloseable
Direct Known Subclasses:
BufferedLineReaderInputStream, LineReaderInputStreamAdaptor, MimeBoundaryInputStream

public abstract class LineReaderInputStream extends FilterInputStream
Input stream capable of reading lines of text.
  • Constructor Details

    • LineReaderInputStream

      protected LineReaderInputStream(InputStream in)
  • Method Details

    • readLine

      public abstract int readLine(ByteArrayBuffer dst) throws MaxLineLimitException, IOException
      Reads one line of text into the given ByteArrayBuffer.
      Parameters:
      dst - Destination
      Returns:
      number of bytes copied or -1 if the end of the stream has been reached.
      Throws:
      MaxLineLimitException - if the line exceeds a limit on the line length imposed by a subclass.
      IOException - in case of an I/O error.
    • unread

      public abstract boolean unread(ByteArrayBuffer buf)
      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.
      Returns:
      true if the unread has been succesfull.
    • unread

      public abstract boolean unread(RecycledByteArrayBuffer buf)