Class FiletransferImpl

java.lang.Object
com.swiftmq.filetransfer.Filetransfer
com.swiftmq.filetransfer.v940.FiletransferImpl

public class FiletransferImpl extends Filetransfer
  • Constructor Details

  • Method Details

    • withFile

      public Filetransfer withFile(File file)
      Description copied from class: Filetransfer
      Sets the file to send or receive.
      Specified by:
      withFile in class Filetransfer
      Parameters:
      file - the file
      Returns:
      this Filetransfer object
    • withFilename

      public Filetransfer withFilename(String filename)
      Description copied from class: Filetransfer
      Overwrites the name of the file to send. So one can send a file under a different name.
      Specified by:
      withFilename in class Filetransfer
      Parameters:
      filename - name the file
      Returns:
      this Filetransfer object
    • withLink

      public Filetransfer withLink(String link)
      Description copied from class: Filetransfer
      Sets the link of a file to receive.
      Specified by:
      withLink in class Filetransfer
      Parameters:
      link - link to a file
      Returns:
      this Filetransfer object
    • withDigestType

      public Filetransfer withDigestType(String digestType)
      Description copied from class: Filetransfer
      Sets the type of the digest that is used to verify the consistency of the file transfer.

      The digest type must be one of the availables types of the platform. The sender defines this type for a file and the receiver of the file must use the same type. Default is "MD5".

      Specified by:
      withDigestType in class Filetransfer
      Parameters:
      digestType - type of the message digest
      Returns:
      this Filetransfer object
    • withDeleteAfterNumberDownloads

      public Filetransfer withDeleteAfterNumberDownloads(int deleteAfterNumberDownloads)
      Description copied from class: Filetransfer
      The sender can define a maximum number of downloads for a file. The file will be automatically deleted when this number is reached. Default is unlimited downloads so the files needs to be deleted explicitely.
      Specified by:
      withDeleteAfterNumberDownloads in class Filetransfer
      Parameters:
      deleteAfterNumberDownloads - max number of downloads
      Returns:
      this Filetransfer object
    • withExpiration

      public Filetransfer withExpiration(long expiration)
      Description copied from class: Filetransfer
      The sender can define an expiration time in millisecond relative to the time when the file is store at the file cache. So if the file is stored at 13:45:10 and the expiration is set to 60000 (1 minute), the file expires at 13:46:10. Expired files will be automatically deleted from the file cache. Default is no expiration.
      Specified by:
      withExpiration in class Filetransfer
      Parameters:
      expiration - expiration time in milliseconds.
      Returns:
      this Filetransfer object
    • withPassword

      public Filetransfer withPassword(String password)
      Description copied from class: Filetransfer
      Sets the password for a file. During send this method defines the password, during receive this method specifies it. Passwords are not being transferred as clear text, instead a hash is used.
      Specified by:
      withPassword in class Filetransfer
      Parameters:
      password - the password
      Returns:
      this Filetransfer object
    • withPasswordHexDigest

      public Filetransfer withPasswordHexDigest(String passwordHexDigest)
      Description copied from class: Filetransfer
      For internal use only!
      Specified by:
      withPasswordHexDigest in class Filetransfer
      Parameters:
      passwordHexDigest - the password hex digest
      Returns:
      this Filetransfer object
    • withFileIsPrivate

      public Filetransfer withFileIsPrivate(boolean fileIsPrivate)
      Description copied from class: Filetransfer
      A sender can declare a file as private. Private files are not returned by a query, rather the link to that file must be passed from the sender to the receiver (e.g. by using JMS). Default is false.
      Specified by:
      withFileIsPrivate in class Filetransfer
      Parameters:
      fileIsPrivate - true/false
      Returns:
      this Filetransfer object
    • withOutputDirectory

      public Filetransfer withOutputDirectory(File outputDir)
      Description copied from class: Filetransfer
      Sets the output directory where received files are stored. This has only effect by using withOriginalFilename(true)
      Specified by:
      withOutputDirectory in class Filetransfer
      Parameters:
      outputDir - Output directory
      Returns:
      this Filetransfer object
    • withOriginalFilename

      public Filetransfer withOriginalFilename(boolean withOriginalFilename)
      Description copied from class: Filetransfer
      Enables/disables the use of the original filenames of the receiving files. Default is true. Requires to set the output directory.
      Specified by:
      withOriginalFilename in class Filetransfer
      Parameters:
      withOriginalFilename - true/false
      Returns:
      this Filetransfer object
    • withProperties

      public Filetransfer withProperties(Map<String,Object> properties)
      Description copied from class: Filetransfer
      A sender can add any custom properties to a file. The names and types of the properties have to adhere to the JMS standard (message.setObject(name, value) must succeed for each property).
      Specified by:
      withProperties in class Filetransfer
      Parameters:
      properties - Map with properties
      Returns:
      this Filetransfer object
    • withSelector

      public Filetransfer withSelector(String selector)
      Description copied from class: Filetransfer
      Sets a JMS message selector to use by a query.
      Specified by:
      withSelector in class Filetransfer
      Parameters:
      selector - JMS message selector
      Returns:
      this Filetransfer object
    • withReplyInterval

      public Filetransfer withReplyInterval(int replyInterval)
      Description copied from class: Filetransfer
      Sets the internal message transfer interval in which a consistency check is performed. Default is 10.
      Specified by:
      withReplyInterval in class Filetransfer
      Parameters:
      replyInterval - reply interval
      Returns:
      this Filetransfer object
    • send

      public String send() throws Exception
      Description copied from class: Filetransfer
      Performs the sending file transfer.
      Specified by:
      send in class Filetransfer
      Returns:
      link to the file
      Throws:
      Exception - if anything goes wrong
    • send

      public String send(ProgressListener progressListener) throws FiletransferException, javax.jms.JMSException, IOException, NoSuchAlgorithmException
      Description copied from class: Filetransfer
      Performs the sending file transfer and notifies a progress listener during the transfer.
      Specified by:
      send in class Filetransfer
      Parameters:
      progressListener - progress listener
      Returns:
      link to the file
      Throws:
      FiletransferException
      javax.jms.JMSException
      IOException
      NoSuchAlgorithmException
    • receive

      public Filetransfer receive() throws FiletransferException, javax.jms.JMSException, IOException, NoSuchAlgorithmException
      Description copied from class: Filetransfer
      Performs the receiving file transfer.
      Specified by:
      receive in class Filetransfer
      Returns:
      this Filetransfer object
      Throws:
      FiletransferException
      javax.jms.JMSException
      IOException
      NoSuchAlgorithmException
    • receive

      public Filetransfer receive(ProgressListener progressListener) throws FiletransferException, javax.jms.JMSException, IOException, NoSuchAlgorithmException
      Description copied from class: Filetransfer
      Performs the receiving file transfer and notifies a progress listener during the transfer.
      Specified by:
      receive in class Filetransfer
      Parameters:
      progressListener - progress listener
      Returns:
      this Filetransfer object
      Throws:
      FiletransferException
      javax.jms.JMSException
      IOException
      NoSuchAlgorithmException
    • delete

      public Filetransfer delete() throws FiletransferException, javax.jms.JMSException, IOException, NoSuchAlgorithmException
      Description copied from class: Filetransfer
      Deletes a file. Requires that the link has been set. Usually called after receive()
      Specified by:
      delete in class Filetransfer
      Returns:
      this Filetransfer object
      Throws:
      FiletransferException
      javax.jms.JMSException
      IOException
      NoSuchAlgorithmException
    • query

      public List<String> query() throws Exception
      Description copied from class: Filetransfer
      Queries the file cache and returns a list of links. If the selector is set, it is applied, otherwise the links to all files of the cache are returned. Links to private files are never returned.
      Specified by:
      query in class Filetransfer
      Returns:
      result
      Throws:
      Exception - if anything goes wrong
    • queryProperties

      public Map<String,Map<String,Object>> queryProperties() throws Exception
      Description copied from class: Filetransfer
      Queries the file cache and returns a map where the key is the link and the value is another Map with all properties of that file. If the selector is set, it is applied. If a link is set, only the properties of that link are returned, otherwise the links/properties of all files of the cache are returned. Properties of private files are never returned.
      Specified by:
      queryProperties in class Filetransfer
      Returns:
      result
      Throws:
      Exception - if anything goes wrong
    • close

      public void close()
      Description copied from class: Filetransfer
      Closes this Filetransfer object and releases all resources (e.g. the internal JMS session)
      Specified by:
      close in class Filetransfer