Class ProxyInputStream

    • Field Summary

      • Fields inherited from class java.io.FilterInputStream

        in
    • Constructor Summary

      Constructors 
      Constructor Description
      ProxyInputStream​(java.io.InputStream proxy)
      Constructs a new ProxyInputStream.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void afterRead​(int n)
      Invoked by the read methods after the proxied call has returned successfully.
      int available()
      Invokes the delegate's available() method.
      protected void beforeRead​(int n)
      Invoked by the read methods before the call is proxied.
      void close()
      Invokes the delegate's close() method.
      protected void handleIOException​(java.io.IOException e)
      Handle any IOExceptions thrown.
      void mark​(int readlimit)
      Invokes the delegate's mark(int) method.
      boolean markSupported()
      Invokes the delegate's markSupported() method.
      int read()
      Invokes the delegate's read() method.
      int read​(byte[] bts)
      Invokes the delegate's read(byte[]) method.
      int read​(byte[] bts, int off, int len)
      Invokes the delegate's read(byte[], int, int) method.
      void reset()
      Invokes the delegate's reset() method.
      long skip​(long ln)
      Invokes the delegate's skip(long) method.
      • Methods inherited from class java.io.InputStream

        nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ProxyInputStream

        public ProxyInputStream​(java.io.InputStream proxy)
        Constructs a new ProxyInputStream.
        Parameters:
        proxy - the InputStream to delegate to
    • Method Detail

      • read

        public int read()
                 throws java.io.IOException
        Invokes the delegate's read() method.
        Overrides:
        read in class java.io.FilterInputStream
        Returns:
        the byte read or -1 if the end of stream
        Throws:
        java.io.IOException - if an I/O error occurs.
      • read

        public int read​(byte[] bts)
                 throws java.io.IOException
        Invokes the delegate's read(byte[]) method.
        Overrides:
        read in class java.io.FilterInputStream
        Parameters:
        bts - the buffer to read the bytes into
        Returns:
        the number of bytes read or EOF if the end of stream
        Throws:
        java.io.IOException - if an I/O error occurs.
      • read

        public int read​(byte[] bts,
                        int off,
                        int len)
                 throws java.io.IOException
        Invokes the delegate's read(byte[], int, int) method.
        Overrides:
        read in class java.io.FilterInputStream
        Parameters:
        bts - the buffer to read the bytes into
        off - The start offset
        len - The number of bytes to read
        Returns:
        the number of bytes read or -1 if the end of stream
        Throws:
        java.io.IOException - if an I/O error occurs.
      • skip

        public long skip​(long ln)
                  throws java.io.IOException
        Invokes the delegate's skip(long) method.
        Overrides:
        skip in class java.io.FilterInputStream
        Parameters:
        ln - the number of bytes to skip
        Returns:
        the actual number of bytes skipped
        Throws:
        java.io.IOException - if an I/O error occurs.
      • available

        public int available()
                      throws java.io.IOException
        Invokes the delegate's available() method.
        Overrides:
        available in class java.io.FilterInputStream
        Returns:
        the number of available bytes
        Throws:
        java.io.IOException - if an I/O error occurs.
      • close

        public void close()
                   throws java.io.IOException
        Invokes the delegate's close() method.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.io.FilterInputStream
        Throws:
        java.io.IOException - if an I/O error occurs.
      • mark

        public void mark​(int readlimit)
        Invokes the delegate's mark(int) method.
        Overrides:
        mark in class java.io.FilterInputStream
        Parameters:
        readlimit - read ahead limit
      • reset

        public void reset()
                   throws java.io.IOException
        Invokes the delegate's reset() method.
        Overrides:
        reset in class java.io.FilterInputStream
        Throws:
        java.io.IOException - if an I/O error occurs.
      • markSupported

        public boolean markSupported()
        Invokes the delegate's markSupported() method.
        Overrides:
        markSupported in class java.io.FilterInputStream
        Returns:
        true if mark is supported, otherwise false
      • beforeRead

        protected void beforeRead​(int n)
                           throws java.io.IOException
        Invoked by the read methods before the call is proxied. The number of bytes that the caller wanted to read (1 for the read() method, buffer length for read(byte[]), etc.) is given as an argument.

        Subclasses can override this method to add common pre-processing functionality without having to override all the read methods. The default implementation does nothing.

        Note this method is not called from skip(long) or reset(). You need to explicitly override those methods if you want to add pre-processing steps also to them.

        Parameters:
        n - number of bytes that the caller asked to be read
        Throws:
        java.io.IOException - if the pre-processing fails
        Since:
        2.0
      • afterRead

        protected void afterRead​(int n)
                          throws java.io.IOException
        Invoked by the read methods after the proxied call has returned successfully. The number of bytes returned to the caller (or -1 if the end of stream was reached) is given as an argument.

        Subclasses can override this method to add common post-processing functionality without having to override all the read methods. The default implementation does nothing.

        Note this method is not called from skip(long) or reset(). You need to explicitly override those methods if you want to add post-processing steps also to them.

        Parameters:
        n - number of bytes read, or -1 if the end of stream was reached
        Throws:
        java.io.IOException - if the post-processing fails
        Since:
        2.0
      • handleIOException

        protected void handleIOException​(java.io.IOException e)
                                  throws java.io.IOException
        Handle any IOExceptions thrown.

        This method provides a point to implement custom exception handling. The default behavior is to re-throw the exception.

        Parameters:
        e - The IOException thrown
        Throws:
        java.io.IOException - if an I/O error occurs.
        Since:
        2.0