org.apache.james.mime4j.io
Class LineReaderInputStream

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

public abstract class LineReaderInputStream
extends java.io.FilterInputStream

Input stream capable of reading lines of text.


Field Summary
 
Fields inherited from class java.io.FilterInputStream
in
 
Constructor Summary
protected LineReaderInputStream(java.io.InputStream in)
           
 
Method Summary
abstract  int readLine(ByteArrayBuffer dst)
          Reads one line of text into the given ByteArrayBuffer.
abstract  boolean unread(ByteArrayBuffer buf)
          Tries to unread the last read line.
 
Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, read, read, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LineReaderInputStream

protected LineReaderInputStream(java.io.InputStream in)
Method Detail

readLine

public abstract int readLine(ByteArrayBuffer dst)
                      throws MaxLineLimitException,
                             java.io.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.
java.io.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.


Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.