org.globus.ftp
Class DataSourceStream

java.lang.Object
  extended byorg.globus.ftp.DataSourceStream
All Implemented Interfaces:
DataSource

public class DataSourceStream
extends Object
implements DataSource

Reference implementation of DataSource. It can be used with non-parallel transfers. It cannot be used with Extended Block Mode because it is not thread safe.


Field Summary
protected  int bufferSize
           
protected  InputStream in
           
protected  long totalRead
           
 
Constructor Summary
DataSourceStream(InputStream in)
           
DataSourceStream(InputStream in, int bufferSize)
           
 
Method Summary
 void close()
          Closes this data source and releases any system resources associated with this source.
 Buffer read()
          Reads a data buffer from this data source.
 long totalSize()
          Optional operation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

in

protected InputStream in

bufferSize

protected int bufferSize

totalRead

protected long totalRead
Constructor Detail

DataSourceStream

public DataSourceStream(InputStream in)

DataSourceStream

public DataSourceStream(InputStream in,
                        int bufferSize)
Method Detail

read

public Buffer read()
            throws IOException
Description copied from interface: DataSource
Reads a data buffer from this data source.

Specified by:
read in interface DataSource
Returns:
The data buffer read. Null, if there is no more data to be read.
Throws:
IOException - if an I/O error occurs.

close

public void close()
           throws IOException
Description copied from interface: DataSource
Closes this data source and releases any system resources associated with this source.

Specified by:
close in interface DataSource
Throws:
IOException - if an I/O error occurs.

totalSize

public long totalSize()
Description copied from interface: DataSource
Optional operation. Returns the total size, in bytes, of the data in this source. If the implementation is not able to provide a total size for the data source, it should return -1

Specified by:
totalSize in interface DataSource