Class DefaultProxyTransfer

java.lang.Object
org.jivesoftware.openfire.filetransfer.proxy.DefaultProxyTransfer
All Implemented Interfaces:
Serializable, FileTransferProgress, ProxyTransfer, Cacheable

public class DefaultProxyTransfer extends Object implements ProxyTransfer
Tracks the different connections related to a file transfer. There are two connections, the initiator and the target and when both connections are completed the transfer can begin.
See Also:
  • Constructor Details

    • DefaultProxyTransfer

      public DefaultProxyTransfer()
  • Method Details

    • getInitiator

      public String getInitiator()
      Description copied from interface: FileTransferProgress
      Returns the fully qualified JID of the initiator of the file transfer.
      Specified by:
      getInitiator in interface FileTransferProgress
      Returns:
      the fully qualified JID of the initiator of the file transfer.
    • setInitiator

      public void setInitiator(String initiator)
      Specified by:
      setInitiator in interface FileTransferProgress
    • getInputStream

      public InputStream getInputStream()
      Specified by:
      getInputStream in interface FileTransferProgress
    • setInputStream

      public void setInputStream(InputStream initiatorInputStream)
      Specified by:
      setInputStream in interface FileTransferProgress
    • getOutputStream

      public OutputStream getOutputStream()
      Specified by:
      getOutputStream in interface FileTransferProgress
    • setOutputStream

      public void setOutputStream(OutputStream outputStream)
      Specified by:
      setOutputStream in interface FileTransferProgress
    • getTarget

      public String getTarget()
      Description copied from interface: FileTransferProgress
      Returns the full qualified JID of the target of the file transfer.
      Specified by:
      getTarget in interface FileTransferProgress
      Returns:
      the fully qualified JID of the target
    • setTarget

      public void setTarget(String target)
      Specified by:
      setTarget in interface FileTransferProgress
    • getTransferDigest

      public String getTransferDigest()
      Description copied from interface: ProxyTransfer
      Returns the transfer digest uniquely identifies a file transfer in the system.
      Specified by:
      getTransferDigest in interface ProxyTransfer
      Returns:
      the transfer digest uniquely identifies a file transfer in the system.
    • setTransferDigest

      public void setTransferDigest(String transferDigest)
      Description copied from interface: ProxyTransfer
      Sets the transfer digest for a file transfer. The transfer digest uniquely identifies a file transfer in the system.
      Specified by:
      setTransferDigest in interface ProxyTransfer
      Parameters:
      transferDigest - the digest which uniquely identifies this transfer.
    • getSessionID

      public String getSessionID()
      Description copied from interface: FileTransferProgress
      Returns the unique session id that correlates to the file transfer.
      Specified by:
      getSessionID in interface FileTransferProgress
      Returns:
      Returns the unique session id that correlates to the file transfer.
    • setSessionID

      public void setSessionID(String streamID)
      Specified by:
      setSessionID in interface FileTransferProgress
    • isActivatable

      public boolean isActivatable()
      Description copied from interface: ProxyTransfer
      Returns true if the Bytestream is ready to be activated and the proxy transfer can begin.
      Specified by:
      isActivatable in interface ProxyTransfer
      Returns:
      true if the Bytestream is ready to be activated.
    • setTransferFuture

      public void setTransferFuture(Future<?> future)
      Description copied from interface: FileTransferProgress
      When the file transfer is being carried out by another thread this will set the Future relating to the thread that is carrying out the transfer.
      Specified by:
      setTransferFuture in interface FileTransferProgress
      Parameters:
      future - the future that is carrying out the transfer
    • getAmountTransferred

      public long getAmountTransferred()
      Description copied from interface: FileTransferProgress
      Returns the number of bytes that has been transferred.
      Specified by:
      getAmountTransferred in interface FileTransferProgress
      Returns:
      the number of bytes that has been transferred.
    • doTransfer

      public void doTransfer() throws IOException
      Description copied from interface: ProxyTransfer
      Transfers the file from the initiator to the target.
      Specified by:
      doTransfer in interface ProxyTransfer
      Throws:
      IOException - when an error occurs either reading from the input stream or writing to the output stream.
    • getCachedSize

      public int getCachedSize()
      Description copied from interface: Cacheable
      Returns the approximate size of the Object in bytes. The size should be considered to be a best estimate of how much memory the Object occupies and may be based on empirical trials or dynamic calculations.

      Specified by:
      getCachedSize in interface Cacheable
      Returns:
      the size of the Object in bytes.