Author: bago Date: Fri Jan 1 16:11:50 2010 New Revision: 895032 URL: http://svn.apache.org/viewvc?rev=895032&view=rev Log: No need to throw an exception as the contract allow us to refuse unreading. So simply return false to a new unread and added comment to the unread javadoc to explain the contract. (MIME4J-58) Modified: james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/io/BufferedLineReaderInputStream.java james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/io/LineReaderInputStream.java Modified: james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/io/BufferedLineReaderInputStream.java URL: http://svn.apache.org/viewvc/james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/io/BufferedLineReaderInputStream.java?rev=895032&r1=895031&r2=895032&view=diff ============================================================================== --- james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/io/BufferedLineReaderInputStream.java (original) +++ james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/io/BufferedLineReaderInputStream.java Fri Jan 1 16:11:50 2010 @@ -362,9 +362,7 @@ @Override public boolean unread(ByteArrayBuffer buf) { - if (tempBuffer) { - throw new IllegalStateException("A previous unreaded buffer has not yet been consumed."); - } + if (tempBuffer) return false; origBuffer = buffer; origBuflen = buflen; origBufpos = bufpos; Modified: james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/io/LineReaderInputStream.java URL: http://svn.apache.org/viewvc/james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/io/LineReaderInputStream.java?rev=895032&r1=895031&r2=895032&view=diff ============================================================================== --- james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/io/LineReaderInputStream.java (original) +++ james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/io/LineReaderInputStream.java Fri Jan 1 16:11:50 2010 @@ -51,6 +51,12 @@ /** * 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. + * * @return true if the unread has been succesfull. */ public abstract boolean unread(ByteArrayBuffer buf);