Class OfferRequestProvider.OfferRequestPacket

    • Constructor Detail

      • OfferRequestPacket

        public OfferRequestPacket​(Jid userJID,
                                  Jid userID,
                                  int timeout,
                                  java.util.Map<java.lang.String,​java.util.List<java.lang.String>> metaData,
                                  java.lang.String sessionID,
                                  OfferContent content)
    • Method Detail

      • getUserID

        public Jid getUserID()
        Returns the userID, which is either the same as the userJID or a special value that the user provided as part of their "join queue" request.
        Returns:
        the user ID.
      • getUserJID

        public Jid getUserJID()
        The JID of the user that made the "join queue" request.
        Returns:
        the user JID.
      • getSessionID

        public java.lang.String getSessionID()
        Returns the session ID associated with the request and ensuing chat. If the offer does not contain a session ID, null will be returned.
        Returns:
        the session id associated with the request.
      • getTimeout

        public int getTimeout()
        Returns the number of seconds the agent has to accept the offer before it times out.
        Returns:
        the offer timeout (in seconds).
      • getMetaData

        public java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getMetaData()
        Returns any meta-data associated with the offer.
        Returns:
        meta-data associated with the offer.
      • getIQChildElementBuilder

        protected IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder​(IQ.IQChildElementXmlStringBuilder buf)
        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:
        buf - a pre-created builder which already has the child element and the 'xmlns' attribute set.
        Returns:
        the build to create the IQ child content.