Class DbInputStream

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    public class DbInputStream
    extends org.apache.commons.io.input.AutoCloseInputStream
    This class represents an input stream backed by a database. The database objects are only acquired when reading from the stream, and stay open until the stream is closed, fully read, or garbage collected.

    This class does not support mark/reset. It is always to be wrapped using a BufferedInputStream.

    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.commons.io.input.AutoCloseInputStream

        org.apache.commons.io.input.AutoCloseInputStream.Builder
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected DbInputStream​(DbDataStore store, DataIdentifier identifier)
      Create a database input stream for the given identifier.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int available()
      void close()
      When the stream is consumed, the database objects held by the instance are closed.
      void mark​(int readlimit)
      This method does nothing.
      boolean markSupported()
      Check whether mark and reset are supported.
      protected void openStream()
      Open the stream if required.
      int read()
      When the stream is consumed, the database objects held by the instance are closed.
      int read​(byte[] b)
      When the stream is consumed, the database objects held by the instance are closed.
      int read​(byte[] b, int off, int len)
      When the stream is consumed, the database objects held by the instance are closed.
      void reset()
      This method does nothing.
      long skip​(long n)
      • Methods inherited from class org.apache.commons.io.input.AutoCloseInputStream

        afterRead, builder, finalize
      • Methods inherited from class org.apache.commons.io.input.ProxyInputStream

        beforeRead, handleIOException, unwrap
    • Constructor Detail

      • DbInputStream

        protected DbInputStream​(DbDataStore store,
                                DataIdentifier identifier)
        Create a database input stream for the given identifier. Database access is delayed until the first byte is read from the stream.
        Parameters:
        store - the database data store
        identifier - the data identifier
    • Method Detail

      • openStream

        protected void openStream()
                           throws IOException
        Open the stream if required.
        Throws:
        IOException
      • read

        public int read()
                 throws IOException
        When the stream is consumed, the database objects held by the instance are closed.
        Overrides:
        read in class org.apache.commons.io.input.ProxyInputStream
        Throws:
        IOException
      • read

        public int read​(byte[] b)
                 throws IOException
        When the stream is consumed, the database objects held by the instance are closed.
        Overrides:
        read in class org.apache.commons.io.input.ProxyInputStream
        Throws:
        IOException
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws IOException
        When the stream is consumed, the database objects held by the instance are closed.
        Overrides:
        read in class org.apache.commons.io.input.ProxyInputStream
        Throws:
        IOException
      • close

        public void close()
                   throws IOException
        When the stream is consumed, the database objects held by the instance are closed.
        Specified by:
        close in interface AutoCloseable
        Specified by:
        close in interface Closeable
        Overrides:
        close in class org.apache.commons.io.input.AutoCloseInputStream
        Throws:
        IOException
      • skip

        public long skip​(long n)
                  throws IOException
        Overrides:
        skip in class org.apache.commons.io.input.ProxyInputStream
        Throws:
        IOException
      • available

        public int available()
                      throws IOException
        Overrides:
        available in class org.apache.commons.io.input.ProxyInputStream
        Throws:
        IOException
      • mark

        public void mark​(int readlimit)
        This method does nothing.
        Overrides:
        mark in class org.apache.commons.io.input.ProxyInputStream
      • reset

        public void reset()
                   throws IOException
        This method does nothing.
        Overrides:
        reset in class org.apache.commons.io.input.ProxyInputStream
        Throws:
        IOException
      • markSupported

        public boolean markSupported()
        Check whether mark and reset are supported.
        Overrides:
        markSupported in class org.apache.commons.io.input.ProxyInputStream
        Returns:
        false