org.globus.io.streams
Class FTPInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by org.globus.io.streams.GlobusInputStream
          extended by org.globus.io.streams.FTPInputStream
All Implemented Interfaces:
java.io.Closeable
Direct Known Subclasses:
GridFTPInputStream

public class FTPInputStream
extends GlobusInputStream


Field Summary
protected  org.globus.ftp.FTPClient ftp
           
protected  java.io.InputStream input
           
protected  org.globus.ftp.vanilla.TransferState state
           
 
Constructor Summary
protected FTPInputStream()
           
  FTPInputStream(java.lang.String host, int port, java.lang.String user, java.lang.String pwd, java.lang.String file)
           
  FTPInputStream(java.lang.String host, int port, java.lang.String user, java.lang.String pwd, java.lang.String file, boolean passive, int type)
           
 
Method Summary
 void abort()
          Aborts transfer.
 int available()
           
 void close()
           
protected  void get(boolean passive, int type, java.lang.String remoteFile)
           
 long getSize()
          Returns the total size of input data.
 int read()
           
 int read(byte[] msg)
           
 int read(byte[] buf, int off, int len)
           
 
Methods inherited from class java.io.InputStream
mark, markSupported, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

input

protected java.io.InputStream input

ftp

protected org.globus.ftp.FTPClient ftp

state

protected org.globus.ftp.vanilla.TransferState state
Constructor Detail

FTPInputStream

protected FTPInputStream()

FTPInputStream

public FTPInputStream(java.lang.String host,
                      int port,
                      java.lang.String user,
                      java.lang.String pwd,
                      java.lang.String file)
               throws java.io.IOException,
                      org.globus.ftp.exception.FTPException
Throws:
java.io.IOException
org.globus.ftp.exception.FTPException

FTPInputStream

public FTPInputStream(java.lang.String host,
                      int port,
                      java.lang.String user,
                      java.lang.String pwd,
                      java.lang.String file,
                      boolean passive,
                      int type)
               throws java.io.IOException,
                      org.globus.ftp.exception.FTPException
Throws:
java.io.IOException
org.globus.ftp.exception.FTPException
Method Detail

get

protected void get(boolean passive,
                   int type,
                   java.lang.String remoteFile)
            throws java.io.IOException,
                   org.globus.ftp.exception.FTPException
Throws:
java.io.IOException
org.globus.ftp.exception.FTPException

getSize

public long getSize()
Description copied from class: GlobusInputStream
Returns the total size of input data.

Overrides:
getSize in class GlobusInputStream
Returns:
-1 if size is unknown.

abort

public void abort()
Description copied from class: GlobusInputStream
Aborts transfer. Usually makes sure to release all resources (sockets, file descriptors)
Does nothing by default.

Overrides:
abort in class GlobusInputStream

close

public void close()
           throws java.io.IOException
Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.InputStream
Throws:
java.io.IOException

read

public int read(byte[] msg)
         throws java.io.IOException
Overrides:
read in class java.io.InputStream
Throws:
java.io.IOException

read

public int read(byte[] buf,
                int off,
                int len)
         throws java.io.IOException
Overrides:
read in class java.io.InputStream
Throws:
java.io.IOException

read

public int read()
         throws java.io.IOException
Overrides:
read in class GlobusInputStream
Throws:
java.io.IOException

available

public int available()
              throws java.io.IOException
Overrides:
available in class java.io.InputStream
Throws:
java.io.IOException