Class Registration

  • All Implemented Interfaces:
    Element, FullyQualifiedElement, IqView, NamedElement, StanzaView, TopLevelStreamElement, 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.
    • Method Detail

      • getInstructions

        public String 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

        public Map<String,​StringgetAttributes()
        Returns the map of String key/value pairs of account attributes.
        Returns:
        the account attributes.
      • 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.