Smack

org.jivesoftware.smackx.filetransfer
Class FileTransfer

java.lang.Object
  extended by org.jivesoftware.smackx.filetransfer.FileTransfer
Direct Known Subclasses:
IncomingFileTransfer, OutgoingFileTransfer

public abstract class FileTransfer
extends Object

Contains the generic file information and progress related to a particular file transfer.

Author:
Alexander Wenckus

Nested Class Summary
static class FileTransfer.Error
           
static class FileTransfer.Status
          A class to represent the current status of the file transfer.
 
Field Summary
protected  long amountWritten
           
protected  FileTransferNegotiator negotiator
           
protected  String streamID
           
 
Constructor Summary
protected FileTransfer(String peer, String streamID, FileTransferNegotiator negotiator)
           
 
Method Summary
abstract  void cancel()
          Cancels the file transfer.
 long getAmountWritten()
          Return the length of bytes written out to the stream.
 FileTransfer.Error getError()
          When getStatus() returns that there was an FileTransfer.Status.error during the transfer, the type of error can be retrieved through this method.
 Exception getException()
          If an exception occurs asynchronously it will be stored for later retrival.
 String getFileName()
          Returns the name of the file being transfered.
 String getFilePath()
          Returns the local path of the file.
 long getFileSize()
          Returns the size of the file being transfered.
 String getPeer()
          Returns the JID of the peer for this file transfer.
 double getProgress()
          Returns the progress of the file transfer as a number between 0 and 1.
 FileTransfer.Status getStatus()
          Retuns the current status of the file transfer.
 boolean isDone()
          Returns true if the transfer has been cancelled, if it has stopped because of a an error, or the transfer completed succesfully.
protected  void setError(FileTransfer.Error type)
           
protected  void setException(Exception exception)
           
protected  void setFileInfo(String fileName, long fileSize)
           
protected  void setFileInfo(String path, String fileName, long fileSize)
           
protected  void setStatus(FileTransfer.Status status)
           
protected  boolean updateStatus(FileTransfer.Status oldStatus, FileTransfer.Status newStatus)
           
protected  void writeToStream(InputStream in, OutputStream out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

negotiator

protected FileTransferNegotiator negotiator

streamID

protected String streamID

amountWritten

protected long amountWritten
Constructor Detail

FileTransfer

protected FileTransfer(String peer,
                       String streamID,
                       FileTransferNegotiator negotiator)
Method Detail

setFileInfo

protected void setFileInfo(String fileName,
                           long fileSize)

setFileInfo

protected void setFileInfo(String path,
                           String fileName,
                           long fileSize)

getFileSize

public long getFileSize()
Returns the size of the file being transfered.

Returns:
Returns the size of the file being transfered.

getFileName

public String getFileName()
Returns the name of the file being transfered.

Returns:
Returns the name of the file being transfered.

getFilePath

public String getFilePath()
Returns the local path of the file.

Returns:
Returns the local path of the file.

getPeer

public String getPeer()
Returns the JID of the peer for this file transfer.

Returns:
Returns the JID of the peer for this file transfer.

getProgress

public double getProgress()
Returns the progress of the file transfer as a number between 0 and 1.

Returns:
Returns the progress of the file transfer as a number between 0 and 1.

isDone

public boolean isDone()
Returns true if the transfer has been cancelled, if it has stopped because of a an error, or the transfer completed succesfully.

Returns:
Returns true if the transfer has been cancelled, if it has stopped because of a an error, or the transfer completed succesfully.

getStatus

public FileTransfer.Status getStatus()
Retuns the current status of the file transfer.

Returns:
Retuns the current status of the file transfer.

setError

protected void setError(FileTransfer.Error type)

getError

public FileTransfer.Error getError()
When getStatus() returns that there was an FileTransfer.Status.error during the transfer, the type of error can be retrieved through this method.

Returns:
Returns the type of error that occured if one has occured.

getException

public Exception getException()
If an exception occurs asynchronously it will be stored for later retrival. If there is an error there maybe an exception set.

Returns:
The exception that occured or null if there was no exception.
See Also:
getError()

cancel

public abstract void cancel()
Cancels the file transfer.


setException

protected void setException(Exception exception)

setStatus

protected void setStatus(FileTransfer.Status status)

updateStatus

protected boolean updateStatus(FileTransfer.Status oldStatus,
                               FileTransfer.Status newStatus)

writeToStream

protected void writeToStream(InputStream in,
                             OutputStream out)
                      throws XMPPException
Throws:
XMPPException

getAmountWritten

public long getAmountWritten()
Return the length of bytes written out to the stream.

Returns:
the amount in bytes written out.

Smack

Copyright © 2003-2007 Jive Software.