Class Registration

java.lang.Object
org.jivesoftware.smack.packet.Stanza
org.jivesoftware.smack.packet.IQ
org.jivesoftware.smackx.iqregister.packet.Registration
All Implemented Interfaces:
Element, IqView, NamedElement, StanzaView, TopLevelStreamElement, XmlElement, XmlLangElement

public class Registration extends IQ
Represents registration packets. An empty GET query will cause the server to return information about it's registration support. SET queries can be used to create accounts or update existing account information. XMPP servers may require a number of attributes to be set when creating a new account. The standard account attributes are as follows:
  • name -- the user's name.
  • first -- the user's first name.
  • last -- the user's last name.
  • email -- the user's email address.
  • city -- the user's city.
  • state -- the user's state.
  • zip -- the user's ZIP code.
  • phone -- the user's phone number.
  • url -- the user's website.
  • date -- the date the registration took place.
  • misc -- other miscellaneous information to associate with the account.
  • text -- textual information to associate with the account.
  • remove -- empty flag to remove account.
  • Field Details

  • Constructor Details

  • Method Details

    • getInstructions

      Returns the registration instructions, or null if no instructions have been set. If present, instructions should be displayed to the end-user that will complete the registration process.
      Returns:
      the registration instructions, or null if there are none.
    • getAttributes

      Returns the map of String key/value pairs of account attributes.
      Returns:
      the account attributes.
    • 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.