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 retrieval.
 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()
          Returns the current status of the file transfer.
 String getStreamID()
           
 boolean isDone()
          Returns true if the transfer has been cancelled, if it has stopped because of a an error, or the transfer completed successfully.
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 successfully.

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

getStatus

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

Returns:
Returns 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 occurred if one has occurred.

getException

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

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

getStreamID

public String getStreamID()

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.