Class StreamInitiation.File

java.lang.Object
org.jivesoftware.smackx.si.packet.StreamInitiation.File
All Implemented Interfaces:
org.jivesoftware.smack.packet.Element, org.jivesoftware.smack.packet.ExtensionElement, org.jivesoftware.smack.packet.NamedElement, org.jivesoftware.smack.packet.XmlElement, org.jivesoftware.smack.packet.XmlLangElement
Enclosing class:
StreamInitiation

public static class StreamInitiation.File extends Object implements org.jivesoftware.smack.packet.ExtensionElement
  • size: The size, in bytes, of the data to be sent.
  • name: The name of the file that the Sender wishes to send.
  • date: The last modification time of the file. This is specified using the DateTime profile as described in Jabber Date and Time Profiles.
  • hash: The MD5 sum of the file contents.

<desc> is used to provide a sender-generated description of the file so the receiver can better understand what is being sent. It MUST NOT be sent in the result.

When <range> is sent in the offer, it should have no attributes. This signifies that the sender can do ranged transfers. When a Stream Initiation result is sent with the <range> element, it uses these attributes:

  • offset: Specifies the position, in bytes, to start transferring the file data from. This defaults to zero (0) if not specified.
  • length - Specifies the number of bytes to retrieve starting at offset. This defaults to the length of the file from offset to the end.
Both attributes are OPTIONAL on the <range> element. Sending no attributes is synonymous with not sending the <range> element. When no <range> element is sent in the Stream Initiation result, the Sender MUST send the complete file starting at offset 0. More generally, data is sent over the stream byte for byte starting at the offset position for the length specified.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final String
     
    static final QName
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    File(String name, long size)
    Constructor providing the name of the file and its size.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the date that the file was last modified.
    Returns the description of the file.
     
    Returns the MD5 sum of the file's contents.
    Returns the file's name.
     
    long
    Returns the file's size.
    boolean
    Returns whether or not the initiator can support a range for the file transfer.
    void
    setDate(Date date)
    Sets the date that the file was last modified.
    void
    Sets the description of the file.
    void
    Sets the MD5 sum of the file's contents.
    void
    setRanged(boolean isRanged)
    True if a range can be provided and false if it cannot.
    toXML(org.jivesoftware.smack.packet.XmlEnvironment enclosingNamespace)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.jivesoftware.smack.packet.Element

    toXML, toXML

    Methods inherited from interface org.jivesoftware.smack.packet.XmlElement

    getLanguage, getQName
  • Field Details

  • Constructor Details

    • File

      public File(String name, long size)
      Constructor providing the name of the file and its size.
      Parameters:
      name - The name of the file.
      size - The size of the file in bytes.
  • Method Details

    • getName

      public String getName()
      Returns the file's name.
      Returns:
      Returns the file's name.
    • getSize

      public long getSize()
      Returns the file's size.
      Returns:
      Returns the file's size.
    • setHash

      public void setHash(String hash)
      Sets the MD5 sum of the file's contents.
      Parameters:
      hash - The MD5 sum of the file's contents.
    • getHash

      public String getHash()
      Returns the MD5 sum of the file's contents.
      Returns:
      Returns the MD5 sum of the file's contents
    • setDate

      public void setDate(Date date)
      Sets the date that the file was last modified.
      Parameters:
      date - The date that the file was last modified.
    • getDate

      public Date getDate()
      Returns the date that the file was last modified.
      Returns:
      Returns the date that the file was last modified.
    • setDesc

      public void setDesc(String desc)
      Sets the description of the file.
      Parameters:
      desc - The description of the file so that the file receiver can know what file it is.
    • getDesc

      public String getDesc()
      Returns the description of the file.
      Returns:
      Returns the description of the file.
    • setRanged

      public void setRanged(boolean isRanged)
      True if a range can be provided and false if it cannot.
      Parameters:
      isRanged - True if a range can be provided and false if it cannot.
    • isRanged

      public boolean isRanged()
      Returns whether or not the initiator can support a range for the file transfer.
      Returns:
      Returns whether or not the initiator can support a range for the file transfer.
    • getElementName

      public String getElementName()
      Specified by:
      getElementName in interface org.jivesoftware.smack.packet.NamedElement
    • getNamespace

      public String getNamespace()
      Specified by:
      getNamespace in interface org.jivesoftware.smack.packet.XmlElement
    • toXML

      public String toXML(org.jivesoftware.smack.packet.XmlEnvironment enclosingNamespace)
      Specified by:
      toXML in interface org.jivesoftware.smack.packet.Element