All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jivesoftware.smack.packet.Registration Maven / Gradle / Ivy

/**
 * $RCSfile$
 * $Revision: 7071 $
 * $Date: 2007-02-11 18:59:05 -0600 (Sun, 11 Feb 2007) $
 *
 * Copyright 2003-2007 Jive Software.
 *
 * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.jivesoftware.smack.packet;

import java.util.Map;

/**
 * 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. *
* * @author Matt Tucker */ public class Registration extends IQ { private String instructions = null; private Map attributes = null; /** * 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. * * @return the registration instructions, or null if there are none. */ public String getInstructions() { return instructions; } /** * Sets the registration instructions. * * @param instructions the registration instructions. */ public void setInstructions(String instructions) { this.instructions = instructions; } /** * Returns the map of String key/value pairs of account attributes. * * @return the account attributes. */ public Map getAttributes() { return attributes; } /** * Sets the account attributes. The map must only contain String key/value pairs. * * @param attributes the account attributes. */ public void setAttributes(Map attributes) { this.attributes = attributes; } public String getChildElementXML() { StringBuilder buf = new StringBuilder(); buf.append(""); if (instructions != null) { buf.append("").append(instructions).append(""); } if (attributes != null && attributes.size() > 0) { for (String name : attributes.keySet()) { String value = attributes.get(name); buf.append("<").append(name).append(">"); buf.append(value); buf.append(""); } } // Add packet extensions, if any are defined. buf.append(getExtensionsXML()); buf.append(""); return buf.toString(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy