From 1c424c34492b3e4b401879cf169b9712dbdd0c2e Mon Sep 17 00:00:00 2001 From: Gaston Dombiak Date: Mon, 29 Mar 2004 21:31:52 +0000 Subject: [PATCH] Allows IQ packets to include extensions git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@2262 b35dd754-fafc-0310-a699-88a17e54d16e --- .../org/jivesoftware/smack/packet/Packet.java | 28 +++---------------- 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/source/org/jivesoftware/smack/packet/Packet.java b/source/org/jivesoftware/smack/packet/Packet.java index 347bd8784..375e393c1 100644 --- a/source/org/jivesoftware/smack/packet/Packet.java +++ b/source/org/jivesoftware/smack/packet/Packet.java @@ -212,18 +212,13 @@ public abstract class Packet { /** * Returns the first packet extension that matches the specified element name and * namespace, or null if it doesn't exist. Packet extensions are - * are arbitrary XML sub-documents in standard XMPP packets (except for IQ packets, - * which don't allow extensions). By default, a DefaultPacketExtension instance will - * be returned for each extension. However, PacketExtensionProvider instances can be - * registered with the {@link org.jivesoftware.smack.provider.ProviderManager ProviderManager} + * are arbitrary XML sub-documents in standard XMPP packets. By default, a + * DefaultPacketExtension instance will be returned for each extension. However, + * PacketExtensionProvider instances can be registered with the + * {@link org.jivesoftware.smack.provider.ProviderManager ProviderManager} * class to handle custom parsing. In that case, the type of the Object * will be determined by the provider. * - *

Note: According to the XMPP specification, IQ packets cannot contain - * packet extensions. Instead, they must contain only a single XML sub-document, - * which is returned via the {@link IQ#getChildElementXML()} method. Therefore, - * attempting to add an extension to an IQ packet will silently fail. - * * @param elementName the XML element name of the packet extension. * @param namespace the XML element namespace of the packet extension. * @return the extension, or null if it doesn't exist. @@ -244,19 +239,9 @@ public abstract class Packet { /** * Adds a packet extension to the packet. * - *

Note: According to the XMPP specification, IQ packets cannot contain - * packet extensions. Instead, they must contain only a single XML sub-document, - * which is returned via the {@link IQ#getChildElementXML()} method. Therefore, - * attempting to add an extension to an IQ packet will silently fail. - * * @param extension a packet extension. */ public synchronized void addExtension(PacketExtension extension) { - // If the packet is an IQ packet, ignore trying to add an extension to it. - if (this instanceof IQ) { - return; - } - if (packetExtensions == null) { packetExtensions = new ArrayList(); } @@ -266,11 +251,6 @@ public abstract class Packet { /** * Removes a packet extension from the packet. * - *

Note: According to the XMPP specification, IQ packets cannot contain - * packet extensions. Instead, they must contain only a single XML sub-document, - * which is returned via the {@link IQ#getChildElementXML()} method. Therefore, - * attempting to add an extension to an IQ packet will silently fail. - * * @param extension the packet extension to remove. */ public synchronized void removeExtension(PacketExtension extension) {