Class ObservableInputStream

    • Constructor Detail

      • ObservableInputStream

        public ObservableInputStream​(java.io.InputStream pProxy)
        Creates a new ObservableInputStream for the given InputStream.
        Parameters:
        pProxy - the input stream to proxy
    • Method Detail

      • removeAllObservers

        public void removeAllObservers()
        Removes all Observers.
      • read

        public int read()
                 throws java.io.IOException
        Description copied from class: ProxyInputStream
        Invokes the delegate's read() method.
        Overrides:
        read in class ProxyInputStream
        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[] pBuffer)
                 throws java.io.IOException
        Description copied from class: ProxyInputStream
        Invokes the delegate's read(byte[]) method.
        Overrides:
        read in class ProxyInputStream
        Parameters:
        pBuffer - 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[] pBuffer,
                        int pOffset,
                        int pLength)
                 throws java.io.IOException
        Description copied from class: ProxyInputStream
        Invokes the delegate's read(byte[], int, int) method.
        Overrides:
        read in class ProxyInputStream
        Parameters:
        pBuffer - the buffer to read the bytes into
        pOffset - The start offset
        pLength - 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
      • noteDataBytes

        protected void noteDataBytes​(byte[] pBuffer,
                                     int pOffset,
                                     int pLength)
                              throws java.io.IOException
        Notifies the observers by invoking ObservableInputStream.Observer.data(byte[],int,int) with the given arguments.
        Parameters:
        pBuffer - Passed to the observers.
        pOffset - Passed to the observers.
        pLength - Passed to the observers.
        Throws:
        java.io.IOException - Some observer has thrown an exception, which is being passed down.
      • noteFinished

        protected void noteFinished()
                             throws java.io.IOException
        Notifies the observers by invoking ObservableInputStream.Observer.finished().
        Throws:
        java.io.IOException - Some observer has thrown an exception, which is being passed down.
      • noteDataByte

        protected void noteDataByte​(int pDataByte)
                             throws java.io.IOException
        Notifies the observers by invoking ObservableInputStream.Observer.data(int) with the given arguments.
        Parameters:
        pDataByte - Passed to the observers.
        Throws:
        java.io.IOException - Some observer has thrown an exception, which is being passed down.
      • noteError

        protected void noteError​(java.io.IOException pException)
                          throws java.io.IOException
        Notifies the observers by invoking ObservableInputStream.Observer.error(IOException) with the given argument.
        Parameters:
        pException - Passed to the observers.
        Throws:
        java.io.IOException - Some observer has thrown an exception, which is being passed down. This may be the same exception, which has been passed as an argument.
      • noteClosed

        protected void noteClosed()
                           throws java.io.IOException
        Notifies the observers by invoking ObservableInputStream.Observer.finished().
        Throws:
        java.io.IOException - Some observer has thrown an exception, which is being passed down.
      • getObservers

        protected java.util.List<ObservableInputStream.Observer> getObservers()
        Gets all currently registered observers.
        Returns:
        a list of the currently registered observers
      • close

        public void close()
                   throws java.io.IOException
        Description copied from class: ProxyInputStream
        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 ProxyInputStream
        Throws:
        java.io.IOException - if an I/O error occurs
      • consume

        public void consume()
                     throws java.io.IOException
        Reads all data from the underlying InputStream, while notifying the observers.
        Throws:
        java.io.IOException - The underlying InputStream, or either of the observers has thrown an exception.