Class FileTransfer
- java.lang.Object
-
- 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FileTransfer.Error
static class
FileTransfer.Status
A class to represent the current status of the file transfer.
-
Field Summary
Fields Modifier and Type Field Description protected long
amountWritten
protected FileTransferNegotiator
negotiator
protected String
streamID
-
Constructor Summary
Constructors Modifier Constructor Description protected
FileTransfer(Jid peer, String streamID, FileTransferNegotiator negotiator)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
cancel()
Cancels the file transfer.long
getAmountWritten()
Return the length of bytes written out to the stream.FileTransfer.Error
getError()
WhengetStatus()
returns that there was anFileTransfer.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 transferred.String
getFilePath()
Returns the local path of the file.long
getFileSize()
Returns the size of the file being transferred.Jid
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)
-
-
-
Field Detail
-
negotiator
protected FileTransferNegotiator negotiator
-
amountWritten
protected long amountWritten
-
-
Constructor Detail
-
FileTransfer
protected FileTransfer(Jid 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 transferred.- Returns:
- Returns the size of the file being transferred.
-
getFileName
public String getFileName()
Returns the name of the file being transferred.- Returns:
- Returns the name of the file being transferred.
-
getFilePath
public String getFilePath()
Returns the local path of the file.- Returns:
- Returns the local path of the file.
-
getPeer
public Jid 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()
WhengetStatus()
returns that there was anFileTransfer.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 IOException
- Throws:
IOException
-
getAmountWritten
public long getAmountWritten()
Return the length of bytes written out to the stream.- Returns:
- the amount in bytes written out.
-
-