org.apache.jackrabbit.core.data.db
Class DbInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by org.apache.jackrabbit.core.data.db.DbInputStream
All Implemented Interfaces:
Closeable

public class DbInputStream
extends InputStream

This class represents an input stream backed by a database. It allows the stream to be used by keeping the database objects open until the stream is closed. When the stream is finished or closed, then the database objects are freed.


Field Summary
protected  ConnectionRecoveryManager conn
           
protected  boolean endOfStream
           
protected  DataIdentifier identifier
           
protected  InputStream in
           
protected  ResultSet rs
           
protected  DbDataStore store
           
 
Constructor Summary
protected DbInputStream(DbDataStore store, DataIdentifier identifier)
          Create a database input stream for the given identifier.
 
Method Summary
 int available()
          
 void close()
           When the stream is consumed, the database objects held by the instance are closed.
 void mark(int readlimit)
          
 boolean markSupported()
          
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()
          
 long skip(long n)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

store

protected DbDataStore store

identifier

protected DataIdentifier identifier

endOfStream

protected boolean endOfStream

in

protected InputStream in

conn

protected ConnectionRecoveryManager conn

rs

protected ResultSet rs
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.

Specified by:
read in class InputStream
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 InputStream
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 InputStream
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 Closeable
Overrides:
close in class InputStream
Throws:
IOException

skip

public long skip(long n)
          throws IOException

Overrides:
skip in class InputStream
Throws:
IOException

available

public int available()
              throws IOException

Overrides:
available in class InputStream
Throws:
IOException

mark

public void mark(int readlimit)

Overrides:
mark in class InputStream

reset

public void reset()
           throws IOException

Overrides:
reset in class InputStream
Throws:
IOException

markSupported

public boolean markSupported()

Overrides:
markSupported in class InputStream


Copyright © 2004-2008 The Apache Software Foundation. All Rights Reserved.