Class StreamInitiation.File

  • All Implemented Interfaces:
    Element, ExtensionElement, NamedElement, XmlElement, XmlLangElement
    Enclosing class:
    StreamInitiation

    public static class StreamInitiation.File
    extends Object
    implements 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.
    • Constructor Detail

      • 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 Detail

      • 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.