You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2020/08/16 10:37:44 UTC

svn commit: r1880890 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/

Author: lehmi
Date: Sun Aug 16 10:37:44 2020
New Revision: 1880890

URL: http://svn.apache.org/viewvc?rev=1880890&view=rev
Log:
PDFBOX-4892: use default implementation within the interface instead of using the very same code in all classes implementing the interface

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFile.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessRead.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadBuffer.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadMemoryMappedFile.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadView.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFileBuffer.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/SequenceRandomAccessRead.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFile.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFile.java?rev=1880890&r1=1880889&r2=1880890&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFile.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFile.java Sun Aug 16 10:37:44 2020
@@ -177,12 +177,6 @@ public class RandomAccessBufferedFile im
     }
     
     @Override
-    public int read(byte[] b) throws IOException
-    {
-        return read(b, 0, b.length);
-    }
-    
-    @Override
     public int read( byte[] b, int off, int len ) throws IOException
     {
         if ( fileOffset >= fileLength )
@@ -210,12 +204,6 @@ public class RandomAccessBufferedFile im
     }
     
     @Override
-    public int available() throws IOException
-    {
-        return (int) Math.min( fileLength - fileOffset, Integer.MAX_VALUE );
-    }
-    
-    @Override
     public long length() throws IOException
     {
         return fileLength;
@@ -236,23 +224,6 @@ public class RandomAccessBufferedFile im
     }
 
     @Override
-    public int peek() throws IOException
-    {
-        int result = read();
-        if (result != -1)
-        {
-            rewind(1);
-        }
-        return result;
-    }
-
-    @Override
-    public void rewind(int bytes) throws IOException
-    {
-        seek(getPosition() - bytes);
-    }
-
-    @Override
     public boolean isEOF() throws IOException
     {
         return peek() == -1;

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessRead.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessRead.java?rev=1880890&r1=1880889&r2=1880890&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessRead.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessRead.java Sun Aug 16 10:37:44 2020
@@ -40,7 +40,10 @@ public interface RandomAccessRead extend
      * @return The number of bytes that were actually read.
      * @throws IOException If there was an error while reading the data.
      */
-    int read(byte[] b) throws IOException;
+    default int read(byte[] b) throws IOException
+    {
+        return read(b, 0, b.length);
+    }
 
     /**
      * Read a buffer of data.
@@ -110,7 +113,15 @@ public interface RandomAccessRead extend
      *
      * @throws IOException If there is an error reading the next byte.
      */
-    int peek() throws IOException;
+    default int peek() throws IOException
+    {
+        int result = read();
+        if (result != -1)
+        {
+            rewind(1);
+        }
+        return result;
+    }
 
     /**
      * Seek backwards the given number of bytes.
@@ -120,7 +131,10 @@ public interface RandomAccessRead extend
      * @param bytes the number of bytes to be seeked backwards
      * @throws IOException If there is an error while seeking
      */
-    void rewind(int bytes) throws IOException;
+    default void rewind(int bytes) throws IOException
+    {
+        seek(getPosition() - bytes);
+    }
 
     /**
      * A simple test to see if we are at the end of the data.
@@ -137,7 +151,10 @@ public interface RandomAccessRead extend
      * @return the number of bytes that can be read
      * @throws IOException if this random access has been closed
      */
-    int available() throws IOException;
+    default int available() throws IOException
+    {
+        return (int) Math.min(length() - getPosition(), Integer.MAX_VALUE);
+    }
 
     /**
      * Skips a given number of bytes.

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadBuffer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadBuffer.java?rev=1880890&r1=1880889&r2=1880890&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadBuffer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadBuffer.java Sun Aug 16 10:37:44 2020
@@ -372,48 +372,6 @@ public class RandomAccessReadBuffer impl
         return pointer >= size;
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int available() throws IOException
-    {
-        return (int) Math.min(length() - getPosition(), Integer.MAX_VALUE);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int peek() throws IOException
-    {
-        int result = read();
-        if (result != -1)
-        {
-            rewind(1);
-        }
-        return result;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void rewind(int bytes) throws IOException
-    {
-        checkClosed();
-        seek(getPosition() - bytes);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int read(byte[] b) throws IOException
-    {
-        return read(b, 0, b.length);
-    }
-
     @Override
     public RandomAccessReadView createView(long startPosition, long streamLength) throws IOException
     {

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadMemoryMappedFile.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadMemoryMappedFile.java?rev=1880890&r1=1880889&r2=1880890&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadMemoryMappedFile.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadMemoryMappedFile.java Sun Aug 16 10:37:44 2020
@@ -179,48 +179,6 @@ public class RandomAccessReadMemoryMappe
         return mappedByteBuffer.position() >= size;
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int available() throws IOException
-    {
-        return (int) Math.min(length() - getPosition(), Integer.MAX_VALUE);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int peek() throws IOException
-    {
-        int result = read();
-        if (result != -1)
-        {
-            rewind(1);
-        }
-        return result;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void rewind(int bytes) throws IOException
-    {
-        checkClosed();
-        seek(getPosition() - bytes);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int read(byte[] b) throws IOException
-    {
-        return read(b, 0, b.length);
-    }
-
     @Override
     public RandomAccessReadView createView(long startPosition, long streamLength)
     {

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadView.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadView.java?rev=1880890&r1=1880889&r2=1880890&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadView.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessReadView.java Sun Aug 16 10:37:44 2020
@@ -96,15 +96,6 @@ public class RandomAccessReadView implem
      * {@inheritDoc}
      */
     @Override
-    public int read(byte[] b) throws IOException
-    {
-        return read(b, 0, b.length);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
     public int read(byte[] b, int off, int len) throws IOException
     {
         if (isEOF())
@@ -121,16 +112,6 @@ public class RandomAccessReadView implem
      * {@inheritDoc}
      */
     @Override
-    public int available() throws IOException
-    {
-        checkClosed();
-        return (int) (streamLength - currentPosition);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
     public long length() throws IOException
     {
         checkClosed();
@@ -156,20 +137,6 @@ public class RandomAccessReadView implem
     }
 
     /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int peek() throws IOException
-    {
-        if (isEOF())
-        {
-            return -1;
-        }
-        restorePosition();
-        return randomAccessRead.peek();
-    }
-
-    /**
      * {@inheritDoc}
      */
     @Override

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFileBuffer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFileBuffer.java?rev=1880890&r1=1880889&r2=1880890&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFileBuffer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFileBuffer.java Sun Aug 16 10:37:44 2020
@@ -349,29 +349,6 @@ class ScratchFileBuffer implements Rando
      * {@inheritDoc}
      */
     @Override
-    public int peek() throws IOException
-    {
-        int result = read();
-        if (result != -1)
-        {
-            rewind(1);
-        }
-        return result;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void rewind(int bytes) throws IOException
-    {
-        seek(currentPageOffset + positionInPage - bytes);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
     public boolean isEOF() throws IOException
     {
         checkClosed();
@@ -382,16 +359,6 @@ class ScratchFileBuffer implements Rando
      * {@inheritDoc}
      */
     @Override
-    public int available() throws IOException
-    {
-        checkClosed();
-        return (int) Math.min(size - (currentPageOffset + positionInPage), Integer.MAX_VALUE);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
     public int read() throws IOException
     {
         checkClosed();
@@ -411,15 +378,6 @@ class ScratchFileBuffer implements Rando
     }
 
     /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int read(byte[] b) throws IOException
-    {
-        return read(b, 0, b.length);
-    }
-
-    /**
      * {@inheritDoc}
      */
     @Override

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/SequenceRandomAccessRead.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/SequenceRandomAccessRead.java?rev=1880890&r1=1880889&r2=1880890&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/SequenceRandomAccessRead.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/SequenceRandomAccessRead.java Sun Aug 16 10:37:44 2020
@@ -112,12 +112,6 @@ public class SequenceRandomAccessRead im
     }
 
     @Override
-    public int read(byte[] b) throws IOException
-    {
-        return read(b, 0, b.length);
-    }
-
-    @Override
     public int read(byte[] b, int offset, int length) throws IOException
     {
         checkClosed();
@@ -182,12 +176,6 @@ public class SequenceRandomAccessRead im
     }
 
     @Override
-    public void rewind(int bytes) throws IOException
-    {
-        seek(getPosition() - bytes);
-    }
-
-    @Override
     public boolean isClosed()
     {
         return isClosed;
@@ -208,17 +196,6 @@ public class SequenceRandomAccessRead im
     }
 
     @Override
-    public int peek() throws IOException
-    {
-        int result = read();
-        if (result != -1)
-        {
-            rewind(1);
-        }
-        return result;
-    }
-
-    @Override
     public boolean isEOF() throws IOException
     {
         checkClosed();
@@ -226,13 +203,6 @@ public class SequenceRandomAccessRead im
     }
 
     @Override
-    public int available() throws IOException
-    {
-        checkClosed();
-        return (int) Math.min(totalLength - currentPosition, Integer.MAX_VALUE);
-    }
-
-    @Override
     public RandomAccessReadView createView(long startPosition, long streamLength) throws IOException
     {
         throw new IOException(getClass().getName() + ".createView isn't supported.");