/** * $RCSfile$ * $Revision$ * $Date$ * * 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; /** * Represents a XMPP error sub-packet. Typically, a server responds to a request that has * problems by sending the packet back and including an error packet. Each error has a code * as well as as an optional text explanation. Typical error codes are as follows:

* * * * * * * * * * * * * * * * * * * *
CodeDescription
302 Redirect
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Not Allowed
406 Not Acceptable
407 Registration Required
408 Request Timeout
409 Conflict
500 Internal Server XMPPError
501 Not Implemented
502 Remote Server Error
503 Service Unavailable
504 Remote Server Timeout
* * @author Matt Tucker */ public class XMPPError { private int code; private String message; /** * Creates a new error with the specified code and no message.. * * @param code the error code. */ public XMPPError(int code) { this.code = code; this.message = null; } /** * Creates a new error with the specified code and message. * * @param code the error code. * @param message a message describing the error. */ public XMPPError(int code, String message) { this.code = code; this.message = message; } /** * Returns the error code. * * @return the error code. */ public int getCode() { return code; } /** * Returns the message describing the error, or null if there is no message. * * @return the message describing the error, or null if there is no message. */ public String getMessage() { return message; } /** * Returns the error as XML. * * @return the error as XML. */ public String toXML() { StringBuilder buf = new StringBuilder(); buf.append(""); if (message != null) { buf.append(message); } buf.append(""); return buf.toString(); } public String toString() { StringBuilder txt = new StringBuilder(); txt.append("(").append(code).append(")"); if (message != null) { txt.append(" ").append(message); } return txt.toString(); } }