Class MamQueryIQ

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

public class MamQueryIQ extends IQ
MAM Query IQ class.
See Also:
  • Field Details

  • Constructor Details

    • MamQueryIQ

      public MamQueryIQ(MamVersion version, String queryId)
      MAM query IQ constructor.
      Parameters:
      version - TODO javadoc me please
      queryId - TODO javadoc me please
    • MamQueryIQ

      public MamQueryIQ(MamVersion version, DataForm form)
      MAM query IQ constructor.
      Parameters:
      version - TODO javadoc me please
      form - TODO javadoc me please
    • MamQueryIQ

      public MamQueryIQ(MamVersion version, String queryId, DataForm form)
      MAM query IQ constructor.
      Parameters:
      version - TODO javadoc me please
      queryId - TODO javadoc me please
      form - TODO javadoc me please
    • MamQueryIQ

      public MamQueryIQ(MamVersion version, String queryId, String node, DataForm dataForm)
      MAM query IQ constructor.
      Parameters:
      version - TODO javadoc me please
      queryId - TODO javadoc me please
      node - TODO javadoc me please
      dataForm - TODO javadoc me please
  • Method Details

    • getQueryId

      public String getQueryId()
      Get query id.
      Returns:
      the query id
    • getNode

      public String getNode()
      Get the Node name.
      Returns:
      the node
    • getDataForm

      Get the data form.
      Returns:
      the data form
    • 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.