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);


Reply via email to