All Implemented Interfaces:
Element, IqView, NamedElement, StanzaView, TopLevelStreamElement, XmlElement, XmlLangElement

public class Open extends IQ
Represents a request to open an In-Band Bytestream.
  • Field Details

  • Constructor Details

    • Open

      public Open(String sessionID, int blockSize, InBandBytestreamManager.StanzaType stanza)
      Creates a new In-Band Bytestream open request packet.

      The data sent over this In-Band Bytestream will be fragmented in blocks with the given block size. The block size should not be greater than 65535. A recommended default value is 4096.

      The data can be sent using IQ stanzas or message stanzas.

      Parameters:
      sessionID - unique session ID identifying this In-Band Bytestream
      blockSize - block size in which the data will be fragmented
      stanza - stanza type used to encapsulate the data
    • Open

      public Open(String sessionID, int blockSize)
      Creates a new In-Band Bytestream open request packet.

      The data sent over this In-Band Bytestream will be fragmented in blocks with the given block size. The block size should not be greater than 65535. A recommended default value is 4096.

      The data will be sent using IQ stanzas.

      Parameters:
      sessionID - unique session ID identifying this In-Band Bytestream
      blockSize - block size in which the data will be fragmented
  • Method Details

    • getSessionID

      public String getSessionID()
      Returns the unique session ID identifying this In-Band Bytestream.
      Returns:
      the unique session ID identifying this In-Band Bytestream
    • getBlockSize

      public int getBlockSize()
      Returns the block size in which the data will be fragmented.
      Returns:
      the block size in which the data will be fragmented
    • getStanza

      Returns the stanza type used to encapsulate the data.
      Returns:
      the stanza type used to encapsulate the data
    • getIQChildElementBuilder

      Description copied from class: IQ
      This method must be overwritten by IQ subclasses to create their child content. It is important you don't use the builder to add the final end tag. This will be done automatically by IQ.IQChildElementXmlStringBuilder after eventual existing ExtensionElements have been added.

      For example to create an IQ with a extra attribute and an additional child element

       
       <iq to='foo@example.org' id='123'>
         <bar xmlns='example:bar' extraAttribute='blaz'>
            <extraElement>elementText</extraElement>
         </bar>
       </iq>
       
       
      the body of the getIQChildElementBuilder looks like
       
       // The builder 'xml' will already have the child element and the 'xmlns' attribute added
       // So the current builder state is "<bar xmlns='example:bar'"
       xml.attribute("extraAttribute", "blaz");
       xml.rightAngleBracket();
       xml.element("extraElement", "elementText");
       // Do not close the 'bar' attribute by calling xml.closeElement('bar')
       
       
      If your IQ only contains attributes and no child elements, i.e. it can be represented as empty element, then you can mark it as such.
       xml.attribute("myAttribute", "myAttributeValue");
       xml.setEmptyElement();
       
      If your IQ does not contain any attributes or child elements (besides ExtensionElements), consider sub-classing SimpleIQ instead.
      Specified by:
      getIQChildElementBuilder in class IQ
      Parameters:
      xml - a pre-created builder which already has the child element and the 'xmlns' attribute set.
      Returns:
      the build to create the IQ child content.