Class Jingle

    • Method Detail

      • getInitiator

        public FullJid getInitiator()
        Get the initiator. The initiator will be the full JID of the entity that has initiated the flow (which may be different to the "from" address in the IQ)
        Returns:
        the initiator
      • getResponder

        public FullJid getResponder()
        Get the responder. The responder is the full JID of the entity that has replied to the initiation (which may be different to the "to" address in the IQ).
        Returns:
        the responder
      • getSid

        public java.lang.String getSid()
        Returns the session ID related to the session. The session ID is a unique identifier generated by the initiator. This should match the XML Nmtoken production so that XML character escaping is not needed for characters such as &.
        Returns:
        Returns the session ID related to the session.
      • getAction

        public JingleAction getAction()
        Get the action specified in the jingle IQ.
        Returns:
        the action.
      • getSoleContentOrThrow

        public JingleContent getSoleContentOrThrow()
        Get the only jingle content if one exists, or null. This method will throw an IllegalStateException if there is more than one jingle content.
        Returns:
        a JingleContent instance or null.
        Throws:
        java.lang.IllegalStateException - if there is more than one jingle content.
      • getIQChildElementBuilder

        protected IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder​(IQ.IQChildElementXmlStringBuilder xml)
        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.