diff --git a/source/org/jivesoftware/smack/packet/StreamError.java b/source/org/jivesoftware/smack/packet/StreamError.java new file mode 100644 index 000000000..3e692514e --- /dev/null +++ b/source/org/jivesoftware/smack/packet/StreamError.java @@ -0,0 +1,106 @@ +/** + * $Revision: 2408 $ + * $Date: 2004-11-02 20:53:30 -0300 (Tue, 02 Nov 2004) $ + * + * Copyright 2003-2005 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 stream error packet. Stream errors are unrecoverable errors where the server + * will close the unrelying TCP connection after the stream error was sent to the client. + * These is the list of stream errors as defined in the XMPP spec:

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
CodeDescription
bad-format the entity has sent XML that cannot be processed
unsupported-encoding the entity has sent a namespace prefix that is + * unsupported
bad-namespace-prefix Remote Server Timeout
conflict the server is closing the active stream for this entity + * because a new stream has been initiated that conflicts with the existing + * stream.
connection-timeout the entity has not generated any traffic over + * the stream for some period of time.
host-gone the value of the 'to' attribute provided by the initiating + * entity in the stream header corresponds to a hostname that is no longer hosted by + * the server.
host-unknown the value of the 'to' attribute provided by the + * initiating entity in the stream header does not correspond to a hostname that is + * hosted by the server.
improper-addressing a stanza sent between two servers lacks a 'to' + * or 'from' attribute
internal-server-error the server has experienced a + * misconfiguration.
invalid-from the JID or hostname provided in a 'from' address does + * not match an authorized JID.
invalid-id the stream ID or dialback ID is invalid or does not match + * an ID previously provided.
invalid-namespace the streams namespace name is invalid.
invalid-xml the entity has sent invalid XML over the stream.
not-authorized the entity has attempted to send data before the + * stream has been authenticated
policy-violation the entity has violated some local service + * policy.
remote-connection-failed Rthe server is unable to properly connect + * to a remote entity.
resource-constraint Rthe server lacks the system resources necessary + * to service the stream.
restricted-xml the entity has attempted to send restricted XML + * features.
see-other-host the server will not provide service to the initiating + * entity but is redirecting traffic to another host.
system-shutdown the server is being shut down and all active streams + * are being closed.
undefined-condition the error condition is not one of those defined + * by the other conditions in this list.
unsupported-encoding the initiating entity has encoded the stream in + * an encoding that is not supported.
unsupported-stanza-type the initiating entity has sent a first-level + * child of the stream that is not supported.
unsupported-version the value of the 'version' attribute provided by + * the initiating entity in the stream header specifies a version of XMPP that is not + * supported.
xml-not-well-formed the initiating entity has sent XML that is + * not well-formed.
+ * + * @author Gaston Dombiak + */ +public class StreamError { + + private String code; + + public StreamError(String code) { + super(); + this.code = code; + } + + /** + * Returns the error code. + * + * @return the error code. + */ + public String getCode() { + return code; + } + + public String toString() { + StringBuffer txt = new StringBuffer(); + txt.append("stream:error (").append(code).append(")"); + return txt.toString(); + } +}