|
What this is
Other links
The source code/** * $RCSfile: IQ.java,v $ * $Revision: 1.1 $ * $Date: 2005/02/25 21:41:42 $ * * Copyright 2003-2004 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 org.jivesoftware.smack.util.StringUtils; /** * The base IQ (Info/Query) packet. IQ packets are used to get and set information * on the server, including authentication, roster operations, and creating * accounts. Each IQ packet has a specific type that indicates what type of action * is being taken: "get", "set", "result", or "error".<p> * * IQ packets can contain a single child element that exists in a specific XML * namespace. The combination of the element name and namespace determines what * type of IQ packet it is. Some example IQ subpacket snippets:<ul> * * <li><query xmlns="jabber:iq:auth"> -- an authentication IQ. * <li><query xmlns="jabber:iq:private"> -- a private storage IQ. * <li><pubsub xmlns="http://jabber.org/protocol/pubsub"> -- a pubsub IQ. * </ul> * * @author Matt Tucker */ public abstract class IQ extends Packet { private Type type = Type.GET; /** * Returns the type of the IQ packet. * * @return the type of the IQ packet. */ public Type getType() { return type; } /** * Sets the type of the IQ packet. * * @param type the type of the IQ packet. */ public void setType(Type type) { if (type == null) { this.type = Type.GET; } else { this.type = type; } } public String toXML() { StringBuffer buf = new StringBuffer(); buf.append("<iq "); if (getPacketID() != null) { buf.append("id=\"" + getPacketID() + "\" "); } if (getTo() != null) { buf.append("to=\"").append(StringUtils.escapeForXML(getTo())).append("\" "); } if (getFrom() != null) { buf.append("from=\"").append(StringUtils.escapeForXML(getFrom())).append("\" "); } if (type == null) { buf.append("type=\"get\">"); } else { buf.append("type=\"").append(getType()).append("\">"); } // Add the query section if there is one. String queryXML = getChildElementXML(); if (queryXML != null) { buf.append(queryXML); } // Add the error sub-packet, if there is one. XMPPError error = getError(); if (error != null) { buf.append(error.toXML()); } buf.append("</iq>"); return buf.toString(); } /** * Returns the sub-element XML section of the IQ packet, or <tt>null if there * isn't one. Packet extensions <b>must be included, if any are defined. |
... this post is sponsored by my books ... | |
![]() #1 New Release! |
![]() FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.