1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-25 07:42:06 +01:00

Merge branch '4.1'

Conflicts:
	smack-core/src/main/java/org/jivesoftware/smack/StanzaListener.java
	smack-core/src/main/java/org/jivesoftware/smack/XMPPConnection.java
	smack-core/src/main/java/org/jivesoftware/smack/packet/Stanza.java
	smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java
	version.gradle
This commit is contained in:
Florian Schmaus 2015-03-24 17:16:18 +01:00
commit 83b84c5bd3
168 changed files with 780 additions and 687 deletions

View file

@ -275,7 +275,7 @@ public class XMPPBOSHConnection extends AbstractXMPPConnection {
* Closes the connection by setting presence to unavailable and closing the * Closes the connection by setting presence to unavailable and closing the
* HTTP client. The shutdown logic will be used during a planned disconnection or when * HTTP client. The shutdown logic will be used during a planned disconnection or when
* dealing with an unexpected disconnection. Unlike {@link #disconnect()} the connection's * dealing with an unexpected disconnection. Unlike {@link #disconnect()} the connection's
* BOSH packet reader will not be removed; thus connection's state is kept. * BOSH stanza(/packet) reader will not be removed; thus connection's state is kept.
* *
*/ */
@Override @Override
@ -473,7 +473,7 @@ public class XMPPBOSHConnection extends AbstractXMPPConnection {
/** /**
* Listens for XML traffic from the BOSH connection manager and parses it into * Listens for XML traffic from the BOSH connection manager and parses it into
* packet objects. * stanza(/packet) objects.
* *
* @author Guenther Niess * @author Guenther Niess
*/ */

View file

@ -37,7 +37,7 @@ public class IQTest extends SmackTestCase {
} }
/** /**
* Check that the server responds a 503 error code when the client sends an IQ packet with an * Check that the server responds a 503 error code when the client sends an IQ stanza(/packet) with an
* invalid namespace. * invalid namespace.
*/ */
public void testInvalidNamespace() { public void testInvalidNamespace() {

View file

@ -49,7 +49,7 @@ public class PacketIDFilterTest extends TestCase {
} }
/** /**
* Wraps the MockPacket class to always give an expected packet ID field. * Wraps the MockPacket class to always give an expected stanza(/packet) ID field.
*/ */
private class MockIDPacket extends MockPacket { private class MockIDPacket extends MockPacket {
private String id; private String id;

View file

@ -18,7 +18,7 @@
package org.jivesoftware.smack.packet; package org.jivesoftware.smack.packet;
/** /**
* A mock implementation of the Packet abstract class. Implements toXML() by returning null. * A mock implementation of the Stanza(/Packet) abstract class. Implements toXML() by returning null.
*/ */
public class MockPacket extends Packet { public class MockPacket extends Packet {

View file

@ -123,24 +123,24 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
private final Collection<PacketCollector> collectors = new ConcurrentLinkedQueue<PacketCollector>(); private final Collection<PacketCollector> collectors = new ConcurrentLinkedQueue<PacketCollector>();
/** /**
* List of PacketListeners that will be notified synchronously when a new packet was received. * List of PacketListeners that will be notified synchronously when a new stanza(/packet) was received.
*/ */
private final Map<StanzaListener, ListenerWrapper> syncRecvListeners = new LinkedHashMap<>(); private final Map<StanzaListener, ListenerWrapper> syncRecvListeners = new LinkedHashMap<>();
/** /**
* List of PacketListeners that will be notified asynchronously when a new packet was received. * List of PacketListeners that will be notified asynchronously when a new stanza(/packet) was received.
*/ */
private final Map<StanzaListener, ListenerWrapper> asyncRecvListeners = new LinkedHashMap<>(); private final Map<StanzaListener, ListenerWrapper> asyncRecvListeners = new LinkedHashMap<>();
/** /**
* List of PacketListeners that will be notified when a new packet was sent. * List of PacketListeners that will be notified when a new stanza(/packet) was sent.
*/ */
private final Map<StanzaListener, ListenerWrapper> sendListeners = private final Map<StanzaListener, ListenerWrapper> sendListeners =
new HashMap<StanzaListener, ListenerWrapper>(); new HashMap<StanzaListener, ListenerWrapper>();
/** /**
* List of PacketListeners that will be notified when a new packet is about to be * List of PacketListeners that will be notified when a new stanza(/packet) is about to be
* sent to the server. These interceptors may modify the packet before it is being * sent to the server. These interceptors may modify the stanza(/packet) before it is being
* actually sent to the server. * actually sent to the server.
*/ */
private final Map<StanzaListener, InterceptorWrapper> interceptors = private final Map<StanzaListener, InterceptorWrapper> interceptors =
@ -255,7 +255,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
); );
/** /**
* A executor service used to invoke the callbacks of synchronous packet listeners. We use a executor service to * A executor service used to invoke the callbacks of synchronous stanza(/packet) listeners. We use a executor service to
* decouple incoming stanza processing from callback invocation. It is important that order of callback invocation * decouple incoming stanza processing from callback invocation. It is important that order of callback invocation
* is the same as the order of the incoming stanzas. Therefore we use a <i>single</i> threaded executor service. * is the same as the order of the incoming stanzas. Therefore we use a <i>single</i> threaded executor service.
*/ */
@ -377,7 +377,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
/** /**
* Logs in to the server using the strongest SASL mechanism supported by * Logs in to the server using the strongest SASL mechanism supported by
* the server. If more than the connection's default packet timeout elapses in each step of the * the server. If more than the connection's default stanza(/packet) timeout elapses in each step of the
* authentication process without a response from the server, a * authentication process without a response from the server, a
* {@link SmackException.NoResponseException} will be thrown. * {@link SmackException.NoResponseException} will be thrown.
* <p> * <p>
@ -660,10 +660,10 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
* by closing the stream. The XMPPConnection can still be used for connecting to the server * by closing the stream. The XMPPConnection can still be used for connecting to the server
* again. A custom unavailable presence is useful for communicating offline presence * again. A custom unavailable presence is useful for communicating offline presence
* information such as "On vacation". Typically, just the status text of the presence * information such as "On vacation". Typically, just the status text of the presence
* packet is set with online information, but most XMPP servers will deliver the full * stanza(/packet) is set with online information, but most XMPP servers will deliver the full
* presence packet with whatever data is set. * presence stanza(/packet) with whatever data is set.
* *
* @param unavailablePresence the presence packet to send during shutdown. * @param unavailablePresence the presence stanza(/packet) to send during shutdown.
* @throws NotConnectedException * @throws NotConnectedException
*/ */
public synchronized void disconnect(Presence unavailablePresence) throws NotConnectedException { public synchronized void disconnect(Presence unavailablePresence) throws NotConnectedException {
@ -805,12 +805,12 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
} }
/** /**
* Process all packet listeners for sending packets. * Process all stanza(/packet) listeners for sending packets.
* <p> * <p>
* Compared to {@link #firePacketInterceptors(Stanza)}, the listeners will be invoked in a new thread. * Compared to {@link #firePacketInterceptors(Stanza)}, the listeners will be invoked in a new thread.
* </p> * </p>
* *
* @param packet the packet to process. * @param packet the stanza(/packet) to process.
*/ */
@SuppressWarnings("javadoc") @SuppressWarnings("javadoc")
protected void firePacketSendingListeners(final Stanza packet) { protected void firePacketSendingListeners(final Stanza packet) {
@ -861,12 +861,12 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
} }
/** /**
* Process interceptors. Interceptors may modify the packet that is about to be sent. * Process interceptors. Interceptors may modify the stanza(/packet) that is about to be sent.
* Since the thread that requested to send the packet will invoke all interceptors, it * Since the thread that requested to send the stanza(/packet) will invoke all interceptors, it
* is important that interceptors perform their work as soon as possible so that the * is important that interceptors perform their work as soon as possible so that the
* thread does not remain blocked for a long period. * thread does not remain blocked for a long period.
* *
* @param packet the packet that is going to be sent to the server * @param packet the stanza(/packet) that is going to be sent to the server
*/ */
private void firePacketInterceptors(Stanza packet) { private void firePacketInterceptors(Stanza packet) {
List<StanzaListener> interceptorsToInvoke = new LinkedList<StanzaListener>(); List<StanzaListener> interceptorsToInvoke = new LinkedList<StanzaListener>();
@ -976,11 +976,11 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
} }
/** /**
* Processes a packet after it's been fully parsed by looping through the installed * Processes a stanza(/packet) after it's been fully parsed by looping through the installed
* packet collectors and listeners and letting them examine the packet to see if * stanza(/packet) collectors and listeners and letting them examine the stanza(/packet) to see if
* they are a match with the filter. * they are a match with the filter.
* *
* @param packet the packet to process. * @param packet the stanza(/packet) to process.
*/ */
protected void processPacket(Stanza packet) { protected void processPacket(Stanza packet) {
assert(packet != null); assert(packet != null);
@ -990,7 +990,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
} }
/** /**
* A runnable to notify all listeners and packet collectors of a packet. * A runnable to notify all listeners and stanza(/packet) collectors of a packet.
*/ */
private class ListenerNotification implements Runnable { private class ListenerNotification implements Runnable {
@ -1007,9 +1007,9 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
/** /**
* Invoke {@link PacketCollector#processPacket(Stanza)} for every * Invoke {@link PacketCollector#processPacket(Stanza)} for every
* PacketCollector with the given packet. Also notify the receive listeners with a matching packet filter about the packet. * PacketCollector with the given packet. Also notify the receive listeners with a matching stanza(/packet) filter about the packet.
* *
* @param packet the packet to notify the PacketCollectors and receive listeners about. * @param packet the stanza(/packet) to notify the PacketCollectors and receive listeners about.
*/ */
protected void invokePacketCollectorsAndNotifyRecvListeners(final Stanza packet) { protected void invokePacketCollectorsAndNotifyRecvListeners(final Stanza packet) {
if (packet instanceof IQ) { if (packet instanceof IQ) {
@ -1237,7 +1237,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
} }
/** /**
* A wrapper class to associate a packet filter with a listener. * A wrapper class to associate a stanza(/packet) filter with a listener.
*/ */
protected static class ListenerWrapper { protected static class ListenerWrapper {
@ -1245,9 +1245,9 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
private final StanzaFilter packetFilter; private final StanzaFilter packetFilter;
/** /**
* Create a class which associates a packet filter with a listener. * Create a class which associates a stanza(/packet) filter with a listener.
* *
* @param packetListener the packet listener. * @param packetListener the stanza(/packet) listener.
* @param packetFilter the associated filter or null if it listen for all packets. * @param packetFilter the associated filter or null if it listen for all packets.
*/ */
public ListenerWrapper(StanzaListener packetListener, StanzaFilter packetFilter) { public ListenerWrapper(StanzaListener packetListener, StanzaFilter packetFilter) {
@ -1265,7 +1265,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
} }
/** /**
* A wrapper class to associate a packet filter with an interceptor. * A wrapper class to associate a stanza(/packet) filter with an interceptor.
*/ */
protected static class InterceptorWrapper { protected static class InterceptorWrapper {
@ -1273,7 +1273,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
private final StanzaFilter packetFilter; private final StanzaFilter packetFilter;
/** /**
* Create a class which associates a packet filter with an interceptor. * Create a class which associates a stanza(/packet) filter with an interceptor.
* *
* @param packetInterceptor the interceptor. * @param packetInterceptor the interceptor.
* @param packetFilter the associated filter or null if it intercepts all packets. * @param packetFilter the associated filter or null if it intercepts all packets.

View file

@ -32,7 +32,7 @@ import org.jivesoftware.smack.packet.Stanza;
* use than a {@link StanzaListener} when you need to wait for a specific * use than a {@link StanzaListener} when you need to wait for a specific
* result.<p> * result.<p>
* *
* Each packet collector will queue up a configured number of packets for processing before * Each stanza(/packet) collector will queue up a configured number of packets for processing before
* older packets are automatically dropped. The default number is retrieved by * older packets are automatically dropped. The default number is retrieved by
* {@link SmackConfiguration#getPacketCollectorSize()}. * {@link SmackConfiguration#getPacketCollectorSize()}.
* *
@ -46,7 +46,7 @@ public class PacketCollector {
private final ArrayBlockingQueue<Stanza> resultQueue; private final ArrayBlockingQueue<Stanza> resultQueue;
/** /**
* The packet collector which timeout for the next result will get reset once this collector collects a stanza. * The stanza(/packet) collector which timeout for the next result will get reset once this collector collects a stanza.
*/ */
private final PacketCollector collectorToReset; private final PacketCollector collectorToReset;
@ -55,7 +55,7 @@ public class PacketCollector {
private boolean cancelled = false; private boolean cancelled = false;
/** /**
* Creates a new packet collector. If the packet filter is <tt>null</tt>, then * Creates a new stanza(/packet) collector. If the stanza(/packet) filter is <tt>null</tt>, then
* all packets will match this collector. * all packets will match this collector.
* *
* @param connection the connection the collector is tied to. * @param connection the connection the collector is tied to.
@ -69,9 +69,9 @@ public class PacketCollector {
} }
/** /**
* Explicitly cancels the packet collector so that no more results are * Explicitly cancels the stanza(/packet) collector so that no more results are
* queued up. Once a packet collector has been cancelled, it cannot be * queued up. Once a stanza(/packet) collector has been cancelled, it cannot be
* re-enabled. Instead, a new packet collector must be created. * re-enabled. Instead, a new stanza(/packet) collector must be created.
*/ */
public void cancel() { public void cancel() {
// If the packet collector has already been cancelled, do nothing. // If the packet collector has already been cancelled, do nothing.
@ -82,10 +82,10 @@ public class PacketCollector {
} }
/** /**
* Returns the packet filter associated with this packet collector. The packet * Returns the stanza(/packet) filter associated with this stanza(/packet) collector. The packet
* filter is used to determine what packets are queued as results. * filter is used to determine what packets are queued as results.
* *
* @return the packet filter. * @return the stanza(/packet) filter.
* @deprecated use {@link #getStanzaFilter()} instead. * @deprecated use {@link #getStanzaFilter()} instead.
*/ */
@Deprecated @Deprecated
@ -104,11 +104,11 @@ public class PacketCollector {
} }
/** /**
* Polls to see if a packet is currently available and returns it, or * Polls to see if a stanza(/packet) is currently available and returns it, or
* immediately returns <tt>null</tt> if no packets are currently in the * immediately returns <tt>null</tt> if no packets are currently in the
* result queue. * result queue.
* *
* @return the next packet result, or <tt>null</tt> if there are no more * @return the next stanza(/packet) result, or <tt>null</tt> if there are no more
* results. * results.
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@ -117,7 +117,7 @@ public class PacketCollector {
} }
/** /**
* Polls to see if a packet is currently available and returns it, or * Polls to see if a stanza(/packet) is currently available and returns it, or
* immediately returns <tt>null</tt> if no packets are currently in the * immediately returns <tt>null</tt> if no packets are currently in the
* result queue. * result queue.
* <p> * <p>
@ -136,7 +136,7 @@ public class PacketCollector {
} }
/** /**
* Returns the next available packet. The method call will block (not return) until a packet is * Returns the next available packet. The method call will block (not return) until a stanza(/packet) is
* available. * available.
* *
* @return the next available packet. * @return the next available packet.
@ -167,7 +167,7 @@ public class PacketCollector {
/** /**
* Returns the next available packet. The method call will block (not return) * Returns the next available packet. The method call will block (not return)
* until a packet is available or the <tt>timeout</tt> has elapsed. If the * until a stanza(/packet) is available or the <tt>timeout</tt> has elapsed. If the
* timeout elapses without a result, <tt>null</tt> will be returned. * timeout elapses without a result, <tt>null</tt> will be returned.
* *
* @param timeout the timeout in milliseconds. * @param timeout the timeout in milliseconds.
@ -191,7 +191,7 @@ public class PacketCollector {
} }
/** /**
* Returns the next available packet. The method call will block until a packet is available or * Returns the next available packet. The method call will block until a stanza(/packet) is available or
* the connections reply timeout has elapsed. If the timeout elapses without a result, * the connections reply timeout has elapsed. If the timeout elapses without a result,
* <tt>null</tt> will be returned. This method does also cancel the PacketCollector. * <tt>null</tt> will be returned. This method does also cancel the PacketCollector.
* *
@ -205,10 +205,10 @@ public class PacketCollector {
} }
/** /**
* Returns the next available packet. The method call will block until a packet is available or * Returns the next available packet. The method call will block until a stanza(/packet) is available or
* the <tt>timeout</tt> has elapsed. This method does also cancel the PacketCollector. * the <tt>timeout</tt> has elapsed. This method does also cancel the PacketCollector.
* *
* @param timeout the amount of time to wait for the next packet (in milleseconds). * @param timeout the amount of time to wait for the next stanza(/packet) (in milleseconds).
* @return the next available packet. * @return the next available packet.
* @throws NoResponseException if there was no response from the server. * @throws NoResponseException if there was no response from the server.
* @throws XMPPErrorException in case an error response. * @throws XMPPErrorException in case an error response.
@ -227,7 +227,7 @@ public class PacketCollector {
} }
/** /**
* Get the number of collected stanzas this packet collector has collected so far. * Get the number of collected stanzas this stanza(/packet) collector has collected so far.
* *
* @return the count of collected stanzas. * @return the count of collected stanzas.
* @since 4.1 * @since 4.1
@ -237,10 +237,10 @@ public class PacketCollector {
} }
/** /**
* Processes a packet to see if it meets the criteria for this packet collector. * Processes a stanza(/packet) to see if it meets the criteria for this stanza(/packet) collector.
* If so, the packet is added to the result queue. * If so, the stanza(/packet) is added to the result queue.
* *
* @param packet the packet to process. * @param packet the stanza(/packet) to process.
*/ */
protected void processPacket(Stanza packet) { protected void processPacket(Stanza packet) {
if (packetFilter == null || packetFilter.accept(packet)) { if (packetFilter == null || packetFilter.accept(packet)) {
@ -263,9 +263,9 @@ public class PacketCollector {
} }
/** /**
* Get a new packet collector configuration instance. * Get a new stanza(/packet) collector configuration instance.
* *
* @return a new packet collector configuration. * @return a new stanza(/packet) collector configuration.
*/ */
public static Configuration newConfiguration() { public static Configuration newConfiguration() {
return new Configuration(); return new Configuration();
@ -280,7 +280,7 @@ public class PacketCollector {
} }
/** /**
* Set the packet filter used by this collector. If <code>null</code>, then all packets will * Set the stanza(/packet) filter used by this collector. If <code>null</code>, then all packets will
* get collected by this collector. * get collected by this collector.
* *
* @param packetFilter * @param packetFilter

View file

@ -26,19 +26,26 @@ import java.util.Random;
import java.util.WeakHashMap; import java.util.WeakHashMap;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
/** /**
* Handles the automatic reconnection process. Every time a connection is dropped without * Handles the automatic reconnection process. Every time a connection is dropped without
* the application explicitly closing it, the manager automatically tries to reconnect to * the application explicitly closing it, the manager automatically tries to reconnect to
* the server.<p> * the server.<p>
* *
* The reconnection mechanism will try to reconnect periodically: * There are two possible reconnection policies:
*
* {@link ReconnectionPolicy#RANDOM_INCREASING_DELAY} - The reconnection mechanism will try to reconnect periodically:
* <ol> * <ol>
* <li>For the first minute it will attempt to connect once every ten seconds. * <li>For the first minute it will attempt to connect once every ten seconds.
* <li>For the next five minutes it will attempt to connect once a minute. * <li>For the next five minutes it will attempt to connect once a minute.
* <li>If that fails it will indefinitely try to connect once every five minutes. * <li>If that fails it will indefinitely try to connect once every five minutes.
* </ol> * </ol>
* *
* {@link ReconnectionPolicy#FIXED_DELAY} - The reconnection mechanism will try to reconnect after a fixed delay
* independently from the number of reconnection attempts already performed
*
* @author Francisco Vives * @author Francisco Vives
* @author Luca Stucchi
*/ */
public class ReconnectionManager { public class ReconnectionManager {
private static final Logger LOGGER = Logger.getLogger(ReconnectionManager.class.getName()); private static final Logger LOGGER = Logger.getLogger(ReconnectionManager.class.getName());
@ -96,6 +103,52 @@ public class ReconnectionManager {
private final int randomBase = new Random().nextInt(13) + 2; // between 2 and 15 seconds private final int randomBase = new Random().nextInt(13) + 2; // between 2 and 15 seconds
private final Runnable reconnectionRunnable; private final Runnable reconnectionRunnable;
private static int defaultFixedDelay = 15;
private static ReconnectionPolicy defaultReconnectionPolicy = ReconnectionPolicy.RANDOM_INCREASING_DELAY;
private volatile int fixedDelay = defaultFixedDelay;
private volatile ReconnectionPolicy reconnectionPolicy = defaultReconnectionPolicy;
/**
* Set the default fixed delay in seconds between the reconnection attempts. Also set the
* default connection policy to {@link ReconnectionPolicy#FIXED_DELAY}
*
* @param fixedDelay Delay expressed in seconds
*/
public static void setDefaultFixedDelay(int fixedDelay) {
defaultFixedDelay = fixedDelay;
setDefaultReconnectionPolicy(ReconnectionPolicy.FIXED_DELAY);
}
/**
* Set the default Reconnection Policy to use
*
* @param reconnectionPolicy
*/
public static void setDefaultReconnectionPolicy(ReconnectionPolicy reconnectionPolicy) {
defaultReconnectionPolicy = reconnectionPolicy;
}
/**
* Set the fixed delay in seconds between the reconnection attempts Also set the connection
* policy to {@link ReconnectionPolicy#FIXED_DELAY}
*
* @param fixedDelay Delay expressed in seconds
*/
public void setFixedDelay(int fixedDelay) {
this.fixedDelay = fixedDelay;
setReconnectionPolicy(ReconnectionPolicy.FIXED_DELAY);
}
/**
* Set the Reconnection Policy to use
*
* @param reconnectionPolicy
*/
public void setReconnectionPolicy(ReconnectionPolicy reconnectionPolicy) {
this.reconnectionPolicy = reconnectionPolicy;
}
/** /**
* Flag that indicates if a reconnection should be attempted when abruptly disconnected * Flag that indicates if a reconnection should be attempted when abruptly disconnected
*/ */
@ -122,13 +175,27 @@ public class ReconnectionManager {
*/ */
private int timeDelay() { private int timeDelay() {
attempts++; attempts++;
// Delay variable to be assigned
int delay;
switch (reconnectionPolicy) {
case FIXED_DELAY:
delay = fixedDelay;
break;
case RANDOM_INCREASING_DELAY:
if (attempts > 13) { if (attempts > 13) {
return randomBase * 6 * 5; // between 2.5 and 7.5 minutes (~5 minutes) delay = randomBase * 6 * 5; // between 2.5 and 7.5 minutes (~5 minutes)
} }
if (attempts > 7) { if (attempts > 7) {
return randomBase * 6; // between 30 and 90 seconds (~1 minutes) delay = randomBase * 6; // between 30 and 90 seconds (~1 minutes)
} }
return randomBase; // 10 seconds delay = randomBase; // 10 seconds
break;
default:
throw new AssertionError("Unknown reconnection policy " + reconnectionPolicy);
}
return delay;
} }
/** /**
@ -287,4 +354,22 @@ public class ReconnectionManager {
reconnect(); reconnect();
} }
}; };
/**
* Reconnection Policy, where {@link ReconnectionPolicy#RANDOM_INCREASING_DELAY} is the default policy used by smack and {@link ReconnectionPolicy#FIXED_DELAY} implies
* a fixed amount of time between reconnection attempts
*/
public enum ReconnectionPolicy {
/**
* Default policy classically used by smack, having an increasing delay related to the
* overall number of attempts
*/
RANDOM_INCREASING_DELAY,
/**
* Policy using fixed amount of time between reconnection attempts
*/
FIXED_DELAY,
;
}
} }

View file

@ -124,7 +124,7 @@ public final class SmackConfiguration {
} }
/** /**
* Gets the default max size of a packet collector before it will delete * Gets the default max size of a stanza(/packet) collector before it will delete
* the older packets. * the older packets.
* *
* @return The number of packets to queue before deleting older packets. * @return The number of packets to queue before deleting older packets.
@ -134,7 +134,7 @@ public final class SmackConfiguration {
} }
/** /**
* Sets the default max size of a packet collector before it will delete * Sets the default max size of a stanza(/packet) collector before it will delete
* the older packets. * the older packets.
* *
* @param collectorSize the number of packets to queue before deleting older packets. * @param collectorSize the number of packets to queue before deleting older packets.

View file

@ -56,8 +56,8 @@ public class SmackException extends Exception {
} }
/** /**
* Exception thrown always when there was no response to an request within the packet reply timeout of the used * Exception thrown always when there was no response to an request within the stanza(/packet) reply timeout of the used
* connection instance. You can modify (e.g. increase) the packet reply timeout with * connection instance. You can modify (e.g. increase) the stanza(/packet) reply timeout with
* {@link XMPPConnection#setPacketReplyTimeout(long)}. * {@link XMPPConnection#setPacketReplyTimeout(long)}.
*/ */
public static class NoResponseException extends SmackException { public static class NoResponseException extends SmackException {

View file

@ -22,7 +22,7 @@ import org.jivesoftware.smack.packet.Stanza;
/** /**
* Provides a mechanism to listen for packets that pass a specified filter. * Provides a mechanism to listen for packets that pass a specified filter.
* This allows event-style programming -- every time a new packet is found, * This allows event-style programming -- every time a new stanza(/packet) is found,
* the {@link #processPacket(Stanza)} method will be called. This is the * the {@link #processPacket(Stanza)} method will be called. This is the
* opposite approach to the functionality provided by a {@link PacketCollector} * opposite approach to the functionality provided by a {@link PacketCollector}
* which lets you block while waiting for results. * which lets you block while waiting for results.
@ -39,14 +39,14 @@ import org.jivesoftware.smack.packet.Stanza;
public interface StanzaListener { public interface StanzaListener {
/** /**
* Process the next packet sent to this packet listener. * Process the next stanza(/packet) sent to this stanza(/packet) listener.
* <p> * <p>
* A single thread is responsible for invoking all listeners, so * A single thread is responsible for invoking all listeners, so
* it's very important that implementations of this method not block * it's very important that implementations of this method not block
* for any extended period of time. * for any extended period of time.
* </p> * </p>
* *
* @param packet the packet to process. * @param packet the stanza(/packet) to process.
* @throws NotConnectedException * @throws NotConnectedException
* @throws InterruptedException * @throws InterruptedException
*/ */

View file

@ -155,9 +155,9 @@ public interface XMPPConnection {
public boolean isUsingCompression(); public boolean isUsingCompression();
/** /**
* Sends the specified packet to the server. * Sends the specified stanza(/packet) to the server.
* *
* @param packet the packet to send. * @param packet the stanza(/packet) to send.
* @throws NotConnectedException * @throws NotConnectedException
* @throws InterruptedException * @throws InterruptedException
* @deprecated use {@link #sendStanza(Stanza)} instead. * @deprecated use {@link #sendStanza(Stanza)} instead.
@ -204,27 +204,27 @@ public interface XMPPConnection {
public void removeConnectionListener(ConnectionListener connectionListener); public void removeConnectionListener(ConnectionListener connectionListener);
/** /**
* Creates a new packet collector collecting packets that are replies to <code>packet</code>. * Creates a new stanza(/packet) collector collecting packets that are replies to <code>packet</code>.
* Does also send <code>packet</code>. The packet filter for the collector is an * Does also send <code>packet</code>. The stanza(/packet) filter for the collector is an
* {@link IQReplyFilter}, guaranteeing that packet id and JID in the 'from' address have * {@link IQReplyFilter}, guaranteeing that stanza(/packet) id and JID in the 'from' address have
* expected values. * expected values.
* *
* @param packet the packet to filter responses from * @param packet the stanza(/packet) to filter responses from
* @return a new packet collector. * @return a new stanza(/packet) collector.
* @throws NotConnectedException * @throws NotConnectedException
* @throws InterruptedException * @throws InterruptedException
*/ */
public PacketCollector createPacketCollectorAndSend(IQ packet) throws NotConnectedException, InterruptedException; public PacketCollector createPacketCollectorAndSend(IQ packet) throws NotConnectedException, InterruptedException;
/** /**
* Creates a new packet collector for this connection. A packet filter determines * Creates a new stanza(/packet) collector for this connection. A stanza(/packet) filter determines
* which packets will be accumulated by the collector. A PacketCollector is * which packets will be accumulated by the collector. A PacketCollector is
* more suitable to use than a {@link StanzaListener} when you need to wait for * more suitable to use than a {@link StanzaListener} when you need to wait for
* a specific result. * a specific result.
* *
* @param packetFilter the packet filter to use. * @param packetFilter the stanza(/packet) filter to use.
* @param packet the packet to send right after the collector got created * @param packet the packet to send right after the collector got created
* @return a new packet collector. * @return a new stanza(/packet) collector.
* @throws InterruptedException * @throws InterruptedException
* @throws NotConnectedException * @throws NotConnectedException
*/ */
@ -232,54 +232,54 @@ public interface XMPPConnection {
throws NotConnectedException, InterruptedException; throws NotConnectedException, InterruptedException;
/** /**
* Creates a new packet collector for this connection. A packet filter * Creates a new stanza(/packet) collector for this connection. A stanza(/packet) filter
* determines which packets will be accumulated by the collector. A * determines which packets will be accumulated by the collector. A
* PacketCollector is more suitable to use than a {@link StanzaListener} * PacketCollector is more suitable to use than a {@link StanzaListener}
* when you need to wait for a specific result. * when you need to wait for a specific result.
* <p> * <p>
* <b>Note:</b> If you send a Packet right after using this method, then * <b>Note:</b> If you send a Stanza(/Packet) right after using this method, then
* consider using * consider using
* {@link #createPacketCollectorAndSend(StanzaFilter, Stanza)} instead. * {@link #createPacketCollectorAndSend(StanzaFilter, Stanza)} instead.
* Otherwise make sure cancel the PacketCollector in every case, e.g. even * Otherwise make sure cancel the PacketCollector in every case, e.g. even
* if an exception is thrown, or otherwise you may leak the PacketCollector. * if an exception is thrown, or otherwise you may leak the PacketCollector.
* </p> * </p>
* *
* @param packetFilter the packet filter to use. * @param packetFilter the stanza(/packet) filter to use.
* @return a new packet collector. * @return a new stanza(/packet) collector.
*/ */
public PacketCollector createPacketCollector(StanzaFilter packetFilter); public PacketCollector createPacketCollector(StanzaFilter packetFilter);
/** /**
* Create a new packet collector with the given packet collector configuration. * Create a new stanza(/packet) collector with the given stanza(/packet) collector configuration.
* <p> * <p>
* Please make sure to cancel the collector when it is no longer required. See also * Please make sure to cancel the collector when it is no longer required. See also
* {@link #createPacketCollector(StanzaFilter)}. * {@link #createPacketCollector(StanzaFilter)}.
* </p> * </p>
* *
* @param configuration the packet collector configuration. * @param configuration the stanza(/packet) collector configuration.
* @return a new packet collector. * @return a new stanza(/packet) collector.
* @since 4.1 * @since 4.1
*/ */
public PacketCollector createPacketCollector(PacketCollector.Configuration configuration); public PacketCollector createPacketCollector(PacketCollector.Configuration configuration);
/** /**
* Remove a packet collector of this connection. * Remove a stanza(/packet) collector of this connection.
* *
* @param collector a packet collectors which was created for this connection. * @param collector a stanza(/packet) collectors which was created for this connection.
*/ */
public void removePacketCollector(PacketCollector collector); public void removePacketCollector(PacketCollector collector);
/** /**
* Registers a packet listener with this connection. * Registers a stanza(/packet) listener with this connection.
* <p> * <p>
* This method has been deprecated. It is important to differentiate between using an asynchronous packet listener * This method has been deprecated. It is important to differentiate between using an asynchronous stanza(/packet) listener
* (preferred where possible) and a synchronous packet lister. Refer * (preferred where possible) and a synchronous stanza(/packet) lister. Refer
* {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} and * {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} and
* {@link #addSyncStanzaListener(StanzaListener, StanzaFilter)} for more information. * {@link #addSyncStanzaListener(StanzaListener, StanzaFilter)} for more information.
* </p> * </p>
* *
* @param packetListener the packet listener to notify of new received packets. * @param packetListener the stanza(/packet) listener to notify of new received packets.
* @param packetFilter the packet filter to use. * @param packetFilter the stanza(/packet) filter to use.
* @deprecated use {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} or * @deprecated use {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} or
* {@link #addSyncStanzaListener(StanzaListener, StanzaFilter)}. * {@link #addSyncStanzaListener(StanzaListener, StanzaFilter)}.
*/ */
@ -287,107 +287,107 @@ public interface XMPPConnection {
public void addPacketListener(StanzaListener packetListener, StanzaFilter packetFilter); public void addPacketListener(StanzaListener packetListener, StanzaFilter packetFilter);
/** /**
* Removes a packet listener for received packets from this connection. * Removes a stanza(/packet) listener for received packets from this connection.
* *
* @param packetListener the packet listener to remove. * @param packetListener the stanza(/packet) listener to remove.
* @return true if the packet listener was removed * @return true if the stanza(/packet) listener was removed
* @deprecated use {@link #removeAsyncStanzaListener(StanzaListener)} or {@link #removeSyncStanzaListener(StanzaListener)}. * @deprecated use {@link #removeAsyncStanzaListener(StanzaListener)} or {@link #removeSyncStanzaListener(StanzaListener)}.
*/ */
@Deprecated @Deprecated
public boolean removePacketListener(StanzaListener packetListener); public boolean removePacketListener(StanzaListener packetListener);
/** /**
* Registers a <b>synchronous</b> packet listener with this connection. A packet listener will be invoked only when * Registers a <b>synchronous</b> stanza(/packet) listener with this connection. A stanza(/packet) listener will be invoked only when
* an incoming packet is received. A packet filter determines which packets will be delivered to the listener. If * an incoming stanza(/packet) is received. A stanza(/packet) filter determines which packets will be delivered to the listener. If
* the same packet listener is added again with a different filter, only the new filter will be used. * the same stanza(/packet) listener is added again with a different filter, only the new filter will be used.
* <p> * <p>
* <b>Important:</b> This packet listeners will be called in the same <i>single</i> thread that processes all * <b>Important:</b> This stanza(/packet) listeners will be called in the same <i>single</i> thread that processes all
* incoming stanzas. Only use this kind of packet filter if it does not perform any XMPP activity that waits for a * incoming stanzas. Only use this kind of stanza(/packet) filter if it does not perform any XMPP activity that waits for a
* response. Consider using {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} when possible, i.e. when * response. Consider using {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} when possible, i.e. when
* the invocation order doesn't have to be the same as the order of the arriving packets. If the order of the * the invocation order doesn't have to be the same as the order of the arriving packets. If the order of the
* arriving packets, consider using a {@link PacketCollector} when possible. * arriving packets, consider using a {@link PacketCollector} when possible.
* </p> * </p>
* *
* @param packetListener the packet listener to notify of new received packets. * @param packetListener the stanza(/packet) listener to notify of new received packets.
* @param packetFilter the packet filter to use. * @param packetFilter the stanza(/packet) filter to use.
* @see #addPacketInterceptor(StanzaListener, StanzaFilter) * @see #addPacketInterceptor(StanzaListener, StanzaFilter)
* @since 4.1 * @since 4.1
*/ */
public void addSyncStanzaListener(StanzaListener packetListener, StanzaFilter packetFilter); public void addSyncStanzaListener(StanzaListener packetListener, StanzaFilter packetFilter);
/** /**
* Removes a packet listener for received packets from this connection. * Removes a stanza(/packet) listener for received packets from this connection.
* *
* @param packetListener the packet listener to remove. * @param packetListener the stanza(/packet) listener to remove.
* @return true if the packet listener was removed * @return true if the stanza(/packet) listener was removed
* @since 4.1 * @since 4.1
*/ */
public boolean removeSyncStanzaListener(StanzaListener packetListener); public boolean removeSyncStanzaListener(StanzaListener packetListener);
/** /**
* Registers an <b>asynchronous</b> packet listener with this connection. A packet listener will be invoked only * Registers an <b>asynchronous</b> stanza(/packet) listener with this connection. A stanza(/packet) listener will be invoked only
* when an incoming packet is received. A packet filter determines which packets will be delivered to the listener. * when an incoming stanza(/packet) is received. A stanza(/packet) filter determines which packets will be delivered to the listener.
* If the same packet listener is added again with a different filter, only the new filter will be used. * If the same stanza(/packet) listener is added again with a different filter, only the new filter will be used.
* <p> * <p>
* Unlike {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} packet listeners added with this method will be * Unlike {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} stanza(/packet) listeners added with this method will be
* invoked asynchronously in their own thread. Use this method if the order of the packet listeners must not depend * invoked asynchronously in their own thread. Use this method if the order of the stanza(/packet) listeners must not depend
* on the order how the stanzas where received. * on the order how the stanzas where received.
* </p> * </p>
* *
* @param packetListener the packet listener to notify of new received packets. * @param packetListener the stanza(/packet) listener to notify of new received packets.
* @param packetFilter the packet filter to use. * @param packetFilter the stanza(/packet) filter to use.
* @see #addPacketInterceptor(StanzaListener, StanzaFilter) * @see #addPacketInterceptor(StanzaListener, StanzaFilter)
* @since 4.1 * @since 4.1
*/ */
public void addAsyncStanzaListener(StanzaListener packetListener, StanzaFilter packetFilter); public void addAsyncStanzaListener(StanzaListener packetListener, StanzaFilter packetFilter);
/** /**
* Removes an <b>asynchronous</b> packet listener for received packets from this connection. * Removes an <b>asynchronous</b> stanza(/packet) listener for received packets from this connection.
* *
* @param packetListener the packet listener to remove. * @param packetListener the stanza(/packet) listener to remove.
* @return true if the packet listener was removed * @return true if the stanza(/packet) listener was removed
* @since 4.1 * @since 4.1
*/ */
public boolean removeAsyncStanzaListener(StanzaListener packetListener); public boolean removeAsyncStanzaListener(StanzaListener packetListener);
/** /**
* Registers a packet listener with this connection. The listener will be * Registers a stanza(/packet) listener with this connection. The listener will be
* notified of every packet that this connection sends. A packet filter determines * notified of every stanza(/packet) that this connection sends. A stanza(/packet) filter determines
* which packets will be delivered to the listener. Note that the thread * which packets will be delivered to the listener. Note that the thread
* that writes packets will be used to invoke the listeners. Therefore, each * that writes packets will be used to invoke the listeners. Therefore, each
* packet listener should complete all operations quickly or use a different * stanza(/packet) listener should complete all operations quickly or use a different
* thread for processing. * thread for processing.
* *
* @param packetListener the packet listener to notify of sent packets. * @param packetListener the stanza(/packet) listener to notify of sent packets.
* @param packetFilter the packet filter to use. * @param packetFilter the stanza(/packet) filter to use.
*/ */
public void addPacketSendingListener(StanzaListener packetListener, StanzaFilter packetFilter); public void addPacketSendingListener(StanzaListener packetListener, StanzaFilter packetFilter);
/** /**
* Removes a packet listener for sending packets from this connection. * Removes a stanza(/packet) listener for sending packets from this connection.
* *
* @param packetListener the packet listener to remove. * @param packetListener the stanza(/packet) listener to remove.
*/ */
public void removePacketSendingListener(StanzaListener packetListener); public void removePacketSendingListener(StanzaListener packetListener);
/** /**
* Registers a packet interceptor with this connection. The interceptor will be * Registers a stanza(/packet) interceptor with this connection. The interceptor will be
* invoked every time a packet is about to be sent by this connection. Interceptors * invoked every time a stanza(/packet) is about to be sent by this connection. Interceptors
* may modify the packet to be sent. A packet filter determines which packets * may modify the stanza(/packet) to be sent. A stanza(/packet) filter determines which packets
* will be delivered to the interceptor. * will be delivered to the interceptor.
* *
* <p> * <p>
* NOTE: For a similar functionality on incoming packets, see {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)}. * NOTE: For a similar functionality on incoming packets, see {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)}.
* *
* @param packetInterceptor the packet interceptor to notify of packets about to be sent. * @param packetInterceptor the stanza(/packet) interceptor to notify of packets about to be sent.
* @param packetFilter the packet filter to use. * @param packetFilter the stanza(/packet) filter to use.
*/ */
public void addPacketInterceptor(StanzaListener packetInterceptor, StanzaFilter packetFilter); public void addPacketInterceptor(StanzaListener packetInterceptor, StanzaFilter packetFilter);
/** /**
* Removes a packet interceptor. * Removes a stanza(/packet) interceptor.
* *
* @param packetInterceptor the packet interceptor to remove. * @param packetInterceptor the stanza(/packet) interceptor to remove.
*/ */
public void removePacketInterceptor(StanzaListener packetInterceptor); public void removePacketInterceptor(StanzaListener packetInterceptor);
@ -395,15 +395,15 @@ public interface XMPPConnection {
* Returns the current value of the reply timeout in milliseconds for request for this * Returns the current value of the reply timeout in milliseconds for request for this
* XMPPConnection instance. * XMPPConnection instance.
* *
* @return the packet reply timeout in milliseconds * @return the stanza(/packet) reply timeout in milliseconds
*/ */
public long getPacketReplyTimeout(); public long getPacketReplyTimeout();
/** /**
* Set the packet reply timeout in milliseconds. In most cases, Smack will throw a * Set the stanza(/packet) reply timeout in milliseconds. In most cases, Smack will throw a
* {@link NoResponseException} if no reply to a request was received within the timeout period. * {@link NoResponseException} if no reply to a request was received within the timeout period.
* *
* @param timeout the packet reply timeout in milliseconds * @param timeout the stanza(/packet) reply timeout in milliseconds
*/ */
public void setPacketReplyTimeout(long timeout); public void setPacketReplyTimeout(long timeout);
@ -449,12 +449,12 @@ public interface XMPPConnection {
public FromMode getFromMode(); public FromMode getFromMode();
/** /**
* Get the feature packet extensions for a given stream feature of the * Get the feature stanza(/packet) extensions for a given stream feature of the
* server, or <code>null</code> if the server doesn't support that feature. * server, or <code>null</code> if the server doesn't support that feature.
* *
* @param element * @param element
* @param namespace * @param namespace
* @return a packet extensions of the feature or <code>null</code> * @return a stanza(/packet) extensions of the feature or <code>null</code>
*/ */
public <F extends ExtensionElement> F getFeature(String element, String namespace); public <F extends ExtensionElement> F getFeature(String element, String namespace);
@ -572,9 +572,9 @@ public interface XMPPConnection {
/** /**
* Add a callback that is called exactly once and synchronously with the incoming stanza that matches the given * Add a callback that is called exactly once and synchronously with the incoming stanza that matches the given
* packet filter. * stanza(/packet) filter.
* *
* @param callback the callback invoked once the packet filter matches a stanza. * @param callback the callback invoked once the stanza(/packet) filter matches a stanza.
* @param packetFilter the filter to match stanzas or null to match all. * @param packetFilter the filter to match stanzas or null to match all.
*/ */
public void addOneTimeSyncCallback(StanzaListener callback, StanzaFilter packetFilter); public void addOneTimeSyncCallback(StanzaListener callback, StanzaFilter packetFilter);

View file

@ -79,7 +79,7 @@ public interface SmackDebugger {
/** /**
* Returns the thread that will listen for all incoming packets and write them to the GUI. * Returns the thread that will listen for all incoming packets and write them to the GUI.
* This is what we call "interpreted" packet data, since it's the packet data as Smack sees * This is what we call "interpreted" stanza(/packet) data, since it's the stanza(/packet) data as Smack sees
* it and not as it's coming in as raw XML. * it and not as it's coming in as raw XML.
* *
* @return the PacketListener that will listen for all incoming packets and write them to * @return the PacketListener that will listen for all incoming packets and write them to

View file

@ -20,7 +20,7 @@ package org.jivesoftware.smack.filter;
import org.jivesoftware.smack.packet.Stanza; import org.jivesoftware.smack.packet.Stanza;
/** /**
* Implements the logical AND operation over two or more packet filters. * Implements the logical AND operation over two or more stanza(/packet) filters.
* In other words, packets pass this filter if they pass <b>all</b> of the filters. * In other words, packets pass this filter if they pass <b>all</b> of the filters.
* *
* @author Matt Tucker * @author Matt Tucker

View file

@ -24,7 +24,7 @@ import org.jxmpp.jid.Jid;
* Filter for packets where the "from" field exactly matches a specified JID. If the specified * Filter for packets where the "from" field exactly matches a specified JID. If the specified
* address is a bare JID then the filter will match any address whose bare JID matches the * address is a bare JID then the filter will match any address whose bare JID matches the
* specified JID. But if the specified address is a full JID then the filter will only match * specified JID. But if the specified address is a full JID then the filter will only match
* if the sender of the packet matches the specified resource. * if the sender of the stanza(/packet) matches the specified resource.
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
@ -42,7 +42,7 @@ public class FromMatchesFilter implements StanzaFilter {
* filter address. The second parameter specifies whether the full or the bare addresses are * filter address. The second parameter specifies whether the full or the bare addresses are
* compared. * compared.
* *
* @param address The address to filter for. If <code>null</code> is given, the packet must not * @param address The address to filter for. If <code>null</code> is given, the stanza(/packet) must not
* have a from address. * have a from address.
* @param ignoreResourcepart * @param ignoreResourcepart
*/ */
@ -61,7 +61,7 @@ public class FromMatchesFilter implements StanzaFilter {
* the filter address with the bare from address. Otherwise, compares the filter address * the filter address with the bare from address. Otherwise, compares the filter address
* with the full from address. * with the full from address.
* *
* @param address The address to filter for. If <code>null</code> is given, the packet must not * @param address The address to filter for. If <code>null</code> is given, the stanza(/packet) must not
* have a from address. * have a from address.
*/ */
public static FromMatchesFilter create(Jid address) { public static FromMatchesFilter create(Jid address) {
@ -72,7 +72,7 @@ public class FromMatchesFilter implements StanzaFilter {
* Creates a filter matching on the "from" field. Compares the bare version of from and filter * Creates a filter matching on the "from" field. Compares the bare version of from and filter
* address. * address.
* *
* @param address The address to filter for. If <code>null</code> is given, the packet must not * @param address The address to filter for. If <code>null</code> is given, the stanza(/packet) must not
* have a from address. * have a from address.
*/ */
public static FromMatchesFilter createBare(Jid address) { public static FromMatchesFilter createBare(Jid address) {
@ -85,7 +85,7 @@ public class FromMatchesFilter implements StanzaFilter {
* Creates a filter matching on the "from" field. Compares the full version of from and filter * Creates a filter matching on the "from" field. Compares the full version of from and filter
* address. * address.
* *
* @param address The address to filter for. If <code>null</code> is given, the packet must not * @param address The address to filter for. If <code>null</code> is given, the stanza(/packet) must not
* have a from address. * have a from address.
*/ */
public static FromMatchesFilter createFull(Jid address) { public static FromMatchesFilter createFull(Jid address) {

View file

@ -29,7 +29,7 @@ import org.jxmpp.jid.Jid;
/** /**
* Filters for packets which are a valid reply to an IQ request. * Filters for packets which are a valid reply to an IQ request.
* <p> * <p>
* Such a packet must have the same packet id and must be an IQ packet of type * Such a stanza(/packet) must have the same stanza(/packet) id and must be an IQ stanza(/packet) of type
* <code>RESULT</code> or <code>ERROR</code>. Moreover, it is necessary to check * <code>RESULT</code> or <code>ERROR</code>. Moreover, it is necessary to check
* the <code>from</code> address to ignore forged replies. * the <code>from</code> address to ignore forged replies.
* <p> * <p>
@ -62,7 +62,7 @@ public class IQReplyFilter implements StanzaFilter {
/** /**
* Filters for packets which are a valid reply to an IQ request. * Filters for packets which are a valid reply to an IQ request.
* <p> * <p>
* Such a packet must have the same packet id and must be an IQ packet of type * Such a stanza(/packet) must have the same stanza(/packet) id and must be an IQ stanza(/packet) of type
* <code>RESULT</code> or <code>ERROR</code>. Moreover, it is necessary to check * <code>RESULT</code> or <code>ERROR</code>. Moreover, it is necessary to check
* the <code>from</code> address to ignore forged replies. * the <code>from</code> address to ignore forged replies.
* <p> * <p>

View file

@ -21,7 +21,7 @@ import org.jivesoftware.smack.packet.IQ.Type;
import org.jivesoftware.smack.util.Objects; import org.jivesoftware.smack.util.Objects;
/** /**
* A filter for IQ packet types. Returns true only if the packet is an IQ packet * A filter for IQ stanza(/packet) types. Returns true only if the stanza(/packet) is an IQ packet
* and it matches the type provided in the constructor. * and it matches the type provided in the constructor.
* *
* @author Alexander Wenckus * @author Alexander Wenckus

View file

@ -21,7 +21,7 @@ import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smack.util.Objects; import org.jivesoftware.smack.util.Objects;
/** /**
* Implements the logical NOT operation on a packet filter. In other words, packets * Implements the logical NOT operation on a stanza(/packet) filter. In other words, packets
* pass this filter if they do not pass the supplied filter. * pass this filter if they do not pass the supplied filter.
* *
* @author Matt Tucker * @author Matt Tucker

View file

@ -20,7 +20,7 @@ package org.jivesoftware.smack.filter;
import org.jivesoftware.smack.packet.Stanza; import org.jivesoftware.smack.packet.Stanza;
/** /**
* Implements the logical OR operation over two or more packet filters. In * Implements the logical OR operation over two or more stanza(/packet) filters. In
* other words, packets pass this filter if they pass <b>any</b> of the filters. * other words, packets pass this filter if they pass <b>any</b> of the filters.
* *
* @author Matt Tucker * @author Matt Tucker

View file

@ -22,7 +22,7 @@ import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.util.StringUtils; import org.jivesoftware.smack.util.StringUtils;
/** /**
* Filters for packets with a particular type of packet extension. * Filters for packets with a particular type of stanza(/packet) extension.
* *
* @author Matt Tucker * @author Matt Tucker
* @deprecated use {@link StanzaExtensionFilter} instead. * @deprecated use {@link StanzaExtensionFilter} instead.
@ -34,12 +34,12 @@ public class PacketExtensionFilter implements StanzaFilter {
private final String namespace; private final String namespace;
/** /**
* Creates a new packet extension filter. Packets will pass the filter if * Creates a new stanza(/packet) extension filter. Packets will pass the filter if
* they have a packet extension that matches the specified element name * they have a stanza(/packet) extension that matches the specified element name
* and namespace. * and namespace.
* *
* @param elementName the XML element name of the packet extension. * @param elementName the XML element name of the stanza(/packet) extension.
* @param namespace the XML namespace of the packet extension. * @param namespace the XML namespace of the stanza(/packet) extension.
*/ */
public PacketExtensionFilter(String elementName, String namespace) { public PacketExtensionFilter(String elementName, String namespace) {
StringUtils.requireNotNullOrEmpty(namespace, "namespace must not be null or empty"); StringUtils.requireNotNullOrEmpty(namespace, "namespace must not be null or empty");
@ -49,17 +49,17 @@ public class PacketExtensionFilter implements StanzaFilter {
} }
/** /**
* Creates a new packet extension filter. Packets will pass the filter if they have a packet * Creates a new stanza(/packet) extension filter. Packets will pass the filter if they have a packet
* extension that matches the specified namespace. * extension that matches the specified namespace.
* *
* @param namespace the XML namespace of the packet extension. * @param namespace the XML namespace of the stanza(/packet) extension.
*/ */
public PacketExtensionFilter(String namespace) { public PacketExtensionFilter(String namespace) {
this(null, namespace); this(null, namespace);
} }
/** /**
* Creates a new packet extension filter for the given packet extension. * Creates a new stanza(/packet) extension filter for the given stanza(/packet) extension.
* *
* @param packetExtension * @param packetExtension
*/ */

View file

@ -18,25 +18,25 @@
package org.jivesoftware.smack.filter; package org.jivesoftware.smack.filter;
/** /**
* Defines a way to filter packets for particular attributes. Packet filters are used when * Defines a way to filter packets for particular attributes. Stanza(/Packet) filters are used when
* constructing packet listeners or collectors -- the filter defines what packets match the criteria * constructing stanza(/packet) listeners or collectors -- the filter defines what packets match the criteria
* of the collector or listener for further packet processing. * of the collector or listener for further stanza(/packet) processing.
* <p> * <p>
* Several simple filters are pre-defined. These filters can be logically combined for more complex * Several simple filters are pre-defined. These filters can be logically combined for more complex
* packet filtering by using the {@link org.jivesoftware.smack.filter.AndFilter AndFilter} and * stanza(/packet) filtering by using the {@link org.jivesoftware.smack.filter.AndFilter AndFilter} and
* {@link org.jivesoftware.smack.filter.OrFilter OrFilter} filters. It's also possible to define * {@link org.jivesoftware.smack.filter.OrFilter OrFilter} filters. It's also possible to define
* your own filters by implementing this interface. The code example below creates a trivial filter * your own filters by implementing this interface. The code example below creates a trivial filter
* for packets with a specific ID (real code should use {@link StanzaIdFilter} instead). * for packets with a specific ID (real code should use {@link StanzaIdFilter} instead).
* *
* <pre> * <pre>
* // Use an anonymous inner class to define a packet filter that returns * // Use an anonymous inner class to define a stanza(/packet) filter that returns
* // all packets that have a packet ID of &quot;RS145&quot;. * // all packets that have a stanza(/packet) ID of &quot;RS145&quot;.
* PacketFilter myFilter = new PacketFilter() { * PacketFilter myFilter = new PacketFilter() {
* public boolean accept(Packet packet) { * public boolean accept(Packet packet) {
* return &quot;RS145&quot;.equals(packet.getStanzaId()); * return &quot;RS145&quot;.equals(packet.getStanzaId());
* } * }
* }; * };
* // Create a new packet collector using the filter we created. * // Create a new stanza(/packet) collector using the filter we created.
* PacketCollector myCollector = packetReader.createPacketCollector(myFilter); * PacketCollector myCollector = packetReader.createPacketCollector(myFilter);
* </pre> * </pre>
* *

View file

@ -21,7 +21,7 @@ import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smack.util.StringUtils; import org.jivesoftware.smack.util.StringUtils;
/** /**
* Filters for packets with a particular packet ID. * Filters for packets with a particular stanza(/packet) ID.
* *
* @author Matt Tucker * @author Matt Tucker
* @deprecated use {@link StanzaIdFilter} instead. * @deprecated use {@link StanzaIdFilter} instead.
@ -32,9 +32,9 @@ public class PacketIDFilter implements StanzaFilter {
private final String packetID; private final String packetID;
/** /**
* Creates a new packet ID filter using the specified packet's ID. * Creates a new stanza(/packet) ID filter using the specified packet's ID.
* *
* @param packet the packet which the ID is taken from. * @param packet the stanza(/packet) which the ID is taken from.
* @deprecated use {@link StanzaIdFilter#StanzaIdFilter(Stanza)} instead. * @deprecated use {@link StanzaIdFilter#StanzaIdFilter(Stanza)} instead.
*/ */
@Deprecated @Deprecated
@ -43,9 +43,9 @@ public class PacketIDFilter implements StanzaFilter {
} }
/** /**
* Creates a new packet ID filter using the specified packet ID. * Creates a new stanza(/packet) ID filter using the specified stanza(/packet) ID.
* *
* @param packetID the packet ID to filter for. * @param packetID the stanza(/packet) ID to filter for.
* @deprecated use {@link StanzaIdFilter#StanzaIdFilter(Stanza)} instead. * @deprecated use {@link StanzaIdFilter#StanzaIdFilter(Stanza)} instead.
*/ */
@Deprecated @Deprecated

View file

@ -42,7 +42,7 @@ public class PacketTypeFilter implements StanzaFilter {
private final Class<? extends Stanza> packetType; private final Class<? extends Stanza> packetType;
/** /**
* Creates a new packet type filter that will filter for packets that are the * Creates a new stanza(/packet) type filter that will filter for packets that are the
* same type as <tt>packetType</tt>. * same type as <tt>packetType</tt>.
* *
* @param packetType the Class type. * @param packetType the Class type.

View file

@ -21,7 +21,7 @@ import org.jivesoftware.smack.packet.Presence.Type;
import org.jivesoftware.smack.util.Objects; import org.jivesoftware.smack.util.Objects;
/** /**
* A filter for Presence types. Returns true only if the stanza is an Presence packet and it matches the type provided in the * A filter for Presence types. Returns true only if the stanza is an Presence stanza(/packet) and it matches the type provided in the
* constructor. * constructor.
*/ */
public class PresenceTypeFilter extends FlexibleStanzaTypeFilter<Presence> { public class PresenceTypeFilter extends FlexibleStanzaTypeFilter<Presence> {

View file

@ -51,7 +51,7 @@ public interface StanzaFilter {
/** /**
* Tests whether or not the specified stanza should pass the filter. * Tests whether or not the specified stanza should pass the filter.
* *
* @param stanza the packet to test. * @param stanza the stanza(/packet) to test.
* @return true if and only if <tt>stanza</tt> passes the filter. * @return true if and only if <tt>stanza</tt> passes the filter.
*/ */
public boolean accept(Stanza stanza); public boolean accept(Stanza stanza);

View file

@ -42,7 +42,7 @@ public final class StanzaTypeFilter implements StanzaFilter {
private final Class<? extends Stanza> packetType; private final Class<? extends Stanza> packetType;
/** /**
* Creates a new packet type filter that will filter for packets that are the * Creates a new stanza(/packet) type filter that will filter for packets that are the
* same type as <tt>packetType</tt>. * same type as <tt>packetType</tt>.
* *
* @param packetType the Class type. * @param packetType the Class type.

View file

@ -84,11 +84,11 @@ public class AbstractError {
} }
/** /**
* Returns the first packet extension that matches the specified element name and * Returns the first stanza(/packet) extension that matches the specified element name and
* namespace, or <tt>null</tt> if it doesn't exist. * namespace, or <tt>null</tt> if it doesn't exist.
* *
* @param elementName the XML element name of the packet extension. * @param elementName the XML element name of the stanza(/packet) extension.
* @param namespace the XML element namespace of the packet extension. * @param namespace the XML element namespace of the stanza(/packet) extension.
* @return the extension, or <tt>null</tt> if it doesn't exist. * @return the extension, or <tt>null</tt> if it doesn't exist.
*/ */
public <PE extends ExtensionElement> PE getExtension(String elementName, String namespace) { public <PE extends ExtensionElement> PE getExtension(String elementName, String namespace) {

View file

@ -20,8 +20,8 @@ package org.jivesoftware.smack.packet;
import org.jxmpp.jid.FullJid; import org.jxmpp.jid.FullJid;
/** /**
* IQ packet used by Smack to bind a resource and to obtain the jid assigned by the server. * IQ stanza(/packet) used by Smack to bind a resource and to obtain the jid assigned by the server.
* There are two ways to bind a resource. One is simply sending an empty Bind packet where the * There are two ways to bind a resource. One is simply sending an empty Bind stanza(/packet) where the
* server will assign a new resource for this connection. The other option is to set a desired * server will assign a new resource for this connection. The other option is to set a desired
* resource but the server may return a modified version of the sent resource.<p> * resource but the server may return a modified version of the sent resource.<p>
* *

View file

@ -27,7 +27,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
/** /**
* Default implementation of the ExtensionElement interface. Unless a ExtensionElementProvider * Default implementation of the ExtensionElement interface. Unless a ExtensionElementProvider
* is registered with {@link org.jivesoftware.smack.provider.ProviderManager ProviderManager}, * is registered with {@link org.jivesoftware.smack.provider.ProviderManager ProviderManager},
* instances of this class will be returned when getting packet extensions.<p> * instances of this class will be returned when getting stanza(/packet) extensions.<p>
* *
* This class provides a very simple representation of an XML sub-document. Each element * This class provides a very simple representation of an XML sub-document. Each element
* is a key in a Map with its CDATA being the value. For example, given the following * is a key in a Map with its CDATA being the value. For example, given the following
@ -53,7 +53,7 @@ public class DefaultExtensionElement implements ExtensionElement {
private Map<String,String> map; private Map<String,String> map;
/** /**
* Creates a new generic packet extension. * Creates a new generic stanza(/packet) extension.
* *
* @param elementName the name of the element of the XML sub-document. * @param elementName the name of the element of the XML sub-document.
* @param namespace the namespace of the element. * @param namespace the namespace of the element.
@ -66,7 +66,7 @@ public class DefaultExtensionElement implements ExtensionElement {
/** /**
* Returns the XML element name of the extension sub-packet root element. * Returns the XML element name of the extension sub-packet root element.
* *
* @return the XML element name of the packet extension. * @return the XML element name of the stanza(/packet) extension.
*/ */
public String getElementName() { public String getElementName() {
return elementName; return elementName;
@ -75,7 +75,7 @@ public class DefaultExtensionElement implements ExtensionElement {
/** /**
* Returns the XML namespace of the extension sub-packet root element. * Returns the XML namespace of the extension sub-packet root element.
* *
* @return the XML namespace of the packet extension. * @return the XML namespace of the stanza(/packet) extension.
*/ */
public String getNamespace() { public String getNamespace() {
return namespace; return namespace;
@ -95,7 +95,7 @@ public class DefaultExtensionElement implements ExtensionElement {
/** /**
* Returns an unmodifiable collection of the names that can be used to get * Returns an unmodifiable collection of the names that can be used to get
* values of the packet extension. * values of the stanza(/packet) extension.
* *
* @return the names. * @return the names.
*/ */
@ -107,7 +107,7 @@ public class DefaultExtensionElement implements ExtensionElement {
} }
/** /**
* Returns a packet extension value given a name. * Returns a stanza(/packet) extension value given a name.
* *
* @param name the name. * @param name the name.
* @return the value. * @return the value.
@ -120,7 +120,7 @@ public class DefaultExtensionElement implements ExtensionElement {
} }
/** /**
* Sets a packet extension value using the given name. * Sets a stanza(/packet) extension value using the given name.
* *
* @param name the name. * @param name the name.
* @param value the value. * @param value the value.

View file

@ -19,14 +19,14 @@ package org.jivesoftware.smack.packet;
/** /**
* Interface to represent a XML element. This is similar to {@link ExtensionElement}, but does not * Interface to represent a XML element. This is similar to {@link ExtensionElement}, but does not
* carry a namespace and is usually included as child element of an packet extension. * carry a namespace and is usually included as child element of an stanza(/packet) extension.
*/ */
public interface Element { public interface Element {
/** /**
* Returns the XML representation of this Element. * Returns the XML representation of this Element.
* *
* @return the packet extension as XML. * @return the stanza(/packet) extension as XML.
*/ */
public CharSequence toXML(); public CharSequence toXML();
} }

View file

@ -25,12 +25,12 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
/** /**
* The base IQ (Info/Query) packet. IQ packets are used to get and set information * The base IQ (Info/Query) packet. IQ packets are used to get and set information
* on the server, including authentication, roster operations, and creating * on the server, including authentication, roster operations, and creating
* accounts. Each IQ packet has a specific type that indicates what type of action * accounts. Each IQ stanza(/packet) has a specific type that indicates what type of action
* is being taken: "get", "set", "result", or "error".<p> * is being taken: "get", "set", "result", or "error".<p>
* *
* IQ packets can contain a single child element that exists in a specific XML * 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 * namespace. The combination of the element name and namespace determines what
* type of IQ packet it is. Some example IQ subpacket snippets:<ul> * type of IQ stanza(/packet) it is. Some example IQ subpacket snippets:<ul>
* *
* <li>&lt;query xmlns="jabber:iq:auth"&gt; -- an authentication IQ. * <li>&lt;query xmlns="jabber:iq:auth"&gt; -- an authentication IQ.
* <li>&lt;query xmlns="jabber:iq:private"&gt; -- a private storage IQ. * <li>&lt;query xmlns="jabber:iq:private"&gt; -- a private storage IQ.
@ -165,7 +165,7 @@ public abstract class IQ extends Stanza {
/** /**
* This method must be overwritten by IQ subclasses to create their child content. It is important that the builder * This method must be overwritten by IQ subclasses to create their child content. It is important that the builder
* <b>does not include the final end element</b>. This will be done automatically by IQChildelementXmlStringBuilder * <b>does not include the final end element</b>. This will be done automatically by IQChildelementXmlStringBuilder
* after eventual existing packet extensions have been added. * after eventual existing stanza(/packet) extensions have been added.
* <p> * <p>
* For example to create an IQ with a extra attribute and an additional child element * For example to create an IQ with a extra attribute and an additional child element
* </p> * </p>
@ -195,7 +195,7 @@ public abstract class IQ extends Stanza {
* xml.attribute(&quot;myAttribute&quot;, &quot;myAttributeValue&quot;); * xml.attribute(&quot;myAttribute&quot;, &quot;myAttributeValue&quot;);
* xml.setEmptyElement(); * xml.setEmptyElement();
* </pre> * </pre>
* If your IQ does not contain any attributes or child elements (besides packet extensions), consider sub-classing * If your IQ does not contain any attributes or child elements (besides stanza(/packet) extensions), consider sub-classing
* {@link SimpleIQ} instead. * {@link SimpleIQ} instead.
* *
* @param xml a pre-created builder which already has the child element and the 'xmlns' attribute set. * @param xml a pre-created builder which already has the child element and the 'xmlns' attribute set.
@ -206,7 +206,7 @@ public abstract class IQ extends Stanza {
/** /**
* Convenience method to create a new empty {@link Type#result IQ.Type.result} * Convenience method to create a new empty {@link Type#result IQ.Type.result}
* IQ based on a {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set} * IQ based on a {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}
* IQ. The new packet will be initialized with:<ul> * IQ. The new stanza(/packet) will be initialized with:<ul>
* <li>The sender set to the recipient of the originating IQ. * <li>The sender set to the recipient of the originating IQ.
* <li>The recipient set to the sender of the originating IQ. * <li>The recipient set to the sender of the originating IQ.
* <li>The type set to {@link Type#result IQ.Type.result}. * <li>The type set to {@link Type#result IQ.Type.result}.
@ -215,7 +215,7 @@ public abstract class IQ extends Stanza {
* </ul> * </ul>
* *
* @param request the {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set} IQ packet. * @param request the {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set} IQ packet.
* @throws IllegalArgumentException if the IQ packet does not have a type of * @throws IllegalArgumentException if the IQ stanza(/packet) does not have a type of
* {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}. * {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}.
* @return a new {@link Type#result IQ.Type.result} IQ based on the originating IQ. * @return a new {@link Type#result IQ.Type.result} IQ based on the originating IQ.
*/ */
@ -226,7 +226,7 @@ public abstract class IQ extends Stanza {
/** /**
* Convenience method to create a new {@link Type#error IQ.Type.error} IQ * Convenience method to create a new {@link Type#error IQ.Type.error} IQ
* based on a {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set} * based on a {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}
* IQ. The new packet will be initialized with:<ul> * IQ. The new stanza(/packet) will be initialized with:<ul>
* <li>The sender set to the recipient of the originating IQ. * <li>The sender set to the recipient of the originating IQ.
* <li>The recipient set to the sender of the originating IQ. * <li>The recipient set to the sender of the originating IQ.
* <li>The type set to {@link Type#error IQ.Type.error}. * <li>The type set to {@link Type#error IQ.Type.error}.
@ -237,7 +237,7 @@ public abstract class IQ extends Stanza {
* *
* @param request the {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set} IQ packet. * @param request the {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set} IQ packet.
* @param error the error to associate with the created IQ packet. * @param error the error to associate with the created IQ packet.
* @throws IllegalArgumentException if the IQ packet does not have a type of * @throws IllegalArgumentException if the IQ stanza(/packet) does not have a type of
* {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}. * {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}.
* @return a new {@link Type#error IQ.Type.error} IQ based on the originating IQ. * @return a new {@link Type#error IQ.Type.error} IQ based on the originating IQ.
*/ */

View file

@ -19,7 +19,7 @@ package org.jivesoftware.smack.packet;
/** /**
* Interface to represent a XML element. This is similar to {@link ExtensionElement}, but does not * Interface to represent a XML element. This is similar to {@link ExtensionElement}, but does not
* carry a namespace and is usually included as child element of an packet extension. * carry a namespace and is usually included as child element of an stanza(/packet) extension.
*/ */
public interface NamedElement extends Element { public interface NamedElement extends Element {

View file

@ -47,7 +47,7 @@ public interface Packet extends TopLevelStreamElement {
public String getPacketID(); public String getPacketID();
/** /**
* Sets the unique ID of the packet. To indicate that a packet has no id * Sets the unique ID of the packet. To indicate that a stanza(/packet) has no id
* pass <code>null</code> as the packet's id value. * pass <code>null</code> as the packet's id value.
* *
* @param id the unique ID for the packet. * @param id the unique ID for the packet.
@ -63,39 +63,39 @@ public interface Packet extends TopLevelStreamElement {
public void setPacketID(String packetID); public void setPacketID(String packetID);
/** /**
* Returns who the packet is being sent "to", or <tt>null</tt> if * Returns who the stanza(/packet) is being sent "to", or <tt>null</tt> if
* the value is not set. The XMPP protocol often makes the "to" * the value is not set. The XMPP protocol often makes the "to"
* attribute optional, so it does not always need to be set.<p> * attribute optional, so it does not always need to be set.<p>
* *
* @return who the packet is being sent to, or <tt>null</tt> if the * @return who the stanza(/packet) is being sent to, or <tt>null</tt> if the
* value has not been set. * value has not been set.
*/ */
public String getTo(); public String getTo();
/** /**
* Sets who the packet is being sent "to". The XMPP protocol often makes * Sets who the stanza(/packet) is being sent "to". The XMPP protocol often makes
* the "to" attribute optional, so it does not always need to be set. * the "to" attribute optional, so it does not always need to be set.
* *
* @param to who the packet is being sent to. * @param to who the stanza(/packet) is being sent to.
*/ */
public void setTo(String to); public void setTo(String to);
/** /**
* Returns who the packet is being sent "from" or <tt>null</tt> if * Returns who the stanza(/packet) is being sent "from" or <tt>null</tt> if
* the value is not set. The XMPP protocol often makes the "from" * the value is not set. The XMPP protocol often makes the "from"
* attribute optional, so it does not always need to be set.<p> * attribute optional, so it does not always need to be set.<p>
* *
* @return who the packet is being sent from, or <tt>null</tt> if the * @return who the stanza(/packet) is being sent from, or <tt>null</tt> if the
* value has not been set. * value has not been set.
*/ */
public String getFrom(); public String getFrom();
/** /**
* Sets who the packet is being sent "from". The XMPP protocol often * Sets who the stanza(/packet) is being sent "from". The XMPP protocol often
* makes the "from" attribute optional, so it does not always need to * makes the "from" attribute optional, so it does not always need to
* be set. * be set.
* *
* @param from who the packet is being sent to. * @param from who the stanza(/packet) is being sent to.
*/ */
public void setFrom(String from); public void setFrom(String from);
@ -128,16 +128,16 @@ public interface Packet extends TopLevelStreamElement {
public void setLanguage(String language); public void setLanguage(String language);
/** /**
* Returns a copy of the packet extensions attached to the packet. * Returns a copy of the stanza(/packet) extensions attached to the packet.
* *
* @return the packet extensions. * @return the stanza(/packet) extensions.
*/ */
public List<ExtensionElement> getExtensions(); public List<ExtensionElement> getExtensions();
/** /**
* Return a set of all extensions with the given element name <emph>and</emph> namespace. * Return a set of all extensions with the given element name <emph>and</emph> namespace.
* <p> * <p>
* Changes to the returned set will update the packet extensions, if the returned set is not the empty set. * Changes to the returned set will update the stanza(/packet) extensions, if the returned set is not the empty set.
* </p> * </p>
* *
* @param elementName the element name, must not be null. * @param elementName the element name, must not be null.
@ -148,20 +148,20 @@ public interface Packet extends TopLevelStreamElement {
public Set<ExtensionElement> getExtensions(String elementName, String namespace); public Set<ExtensionElement> getExtensions(String elementName, String namespace);
/** /**
* Returns the first extension of this packet that has the given namespace. * Returns the first extension of this stanza(/packet) that has the given namespace.
* <p> * <p>
* When possible, use {@link #getExtension(String,String)} instead. * When possible, use {@link #getExtension(String,String)} instead.
* </p> * </p>
* *
* @param namespace the namespace of the extension that is desired. * @param namespace the namespace of the extension that is desired.
* @return the packet extension with the given namespace. * @return the stanza(/packet) extension with the given namespace.
*/ */
public ExtensionElement getExtension(String namespace); public ExtensionElement getExtension(String namespace);
/** /**
* Returns the first packet extension that matches the specified element name and * Returns the first stanza(/packet) extension that matches the specified element name and
* namespace, or <tt>null</tt> if it doesn't exist. If the provided elementName is null, * namespace, or <tt>null</tt> if it doesn't exist. If the provided elementName is null,
* only the namespace is matched. Packet extensions are * only the namespace is matched. Stanza(/Packet) extensions are
* are arbitrary XML sub-documents in standard XMPP packets. By default, a * are arbitrary XML sub-documents in standard XMPP packets. By default, a
* DefaultPacketExtension instance will be returned for each extension. However, * DefaultPacketExtension instance will be returned for each extension. However,
* PacketExtensionProvider instances can be registered with the * PacketExtensionProvider instances can be registered with the
@ -169,59 +169,59 @@ public interface Packet extends TopLevelStreamElement {
* class to handle custom parsing. In that case, the type of the Object * class to handle custom parsing. In that case, the type of the Object
* will be determined by the provider. * will be determined by the provider.
* *
* @param elementName the XML element name of the packet extension. (May be null) * @param elementName the XML element name of the stanza(/packet) extension. (May be null)
* @param namespace the XML element namespace of the packet extension. * @param namespace the XML element namespace of the stanza(/packet) extension.
* @return the extension, or <tt>null</tt> if it doesn't exist. * @return the extension, or <tt>null</tt> if it doesn't exist.
*/ */
public <PE extends ExtensionElement> PE getExtension(String elementName, String namespace); public <PE extends ExtensionElement> PE getExtension(String elementName, String namespace);
/** /**
* Adds a packet extension to the packet. Does nothing if extension is null. * Adds a stanza(/packet) extension to the packet. Does nothing if extension is null.
* *
* @param extension a packet extension. * @param extension a stanza(/packet) extension.
*/ */
public void addExtension(ExtensionElement extension); public void addExtension(ExtensionElement extension);
/** /**
* Adds a collection of packet extensions to the packet. Does nothing if extensions is null. * Adds a collection of stanza(/packet) extensions to the packet. Does nothing if extensions is null.
* *
* @param extensions a collection of packet extensions * @param extensions a collection of stanza(/packet) extensions
*/ */
public void addExtensions(Collection<ExtensionElement> extensions); public void addExtensions(Collection<ExtensionElement> extensions);
/** /**
* Check if a packet extension with the given element and namespace exists. * Check if a stanza(/packet) extension with the given element and namespace exists.
* <p> * <p>
* The argument <code>elementName</code> may be null. * The argument <code>elementName</code> may be null.
* </p> * </p>
* *
* @param elementName * @param elementName
* @param namespace * @param namespace
* @return true if a packet extension exists, false otherwise. * @return true if a stanza(/packet) extension exists, false otherwise.
*/ */
public boolean hasExtension(String elementName, String namespace); public boolean hasExtension(String elementName, String namespace);
/** /**
* Check if a packet extension with the given namespace exists. * Check if a stanza(/packet) extension with the given namespace exists.
* *
* @param namespace * @param namespace
* @return true if a packet extension exists, false otherwise. * @return true if a stanza(/packet) extension exists, false otherwise.
*/ */
public boolean hasExtension(String namespace); public boolean hasExtension(String namespace);
/** /**
* Remove the packet extension with the given elementName and namespace. * Remove the stanza(/packet) extension with the given elementName and namespace.
* *
* @param elementName * @param elementName
* @param namespace * @param namespace
* @return the removed packet extension or null. * @return the removed stanza(/packet) extension or null.
*/ */
public ExtensionElement removeExtension(String elementName, String namespace); public ExtensionElement removeExtension(String elementName, String namespace);
/** /**
* Removes a packet extension from the packet. * Removes a stanza(/packet) extension from the packet.
* *
* @param extension the packet extension to remove. * @param extension the stanza(/packet) extension to remove.
* @return the removed packet extension or null. * @return the removed stanza(/packet) extension or null.
*/ */
public ExtensionElement removeExtension(ExtensionElement extension); public ExtensionElement removeExtension(ExtensionElement extension);

View file

@ -24,7 +24,7 @@ import org.jivesoftware.smack.util.TypedCloneable;
import org.jivesoftware.smack.util.XmlStringBuilder; import org.jivesoftware.smack.util.XmlStringBuilder;
/** /**
* Represents XMPP presence packets. Every presence packet has a type, which is one of * Represents XMPP presence packets. Every presence stanza(/packet) has a type, which is one of
* the following values: * the following values:
* <ul> * <ul>
* <li>{@link Presence.Type#available available} -- (Default) indicates the user is available to * <li>{@link Presence.Type#available available} -- (Default) indicates the user is available to
@ -36,7 +36,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
* sender's presence. * sender's presence.
* <li>{@link Presence.Type#unsubscribed unsubscribed} -- grant removal of subscription to * <li>{@link Presence.Type#unsubscribed unsubscribed} -- grant removal of subscription to
* sender's presence. * sender's presence.
* <li>{@link Presence.Type#error error} -- the presence packet contains an error message. * <li>{@link Presence.Type#error error} -- the presence stanza(/packet) contains an error message.
* </ul><p> * </ul><p>
* *
* A number of attributes are optional: * A number of attributes are optional:
@ -299,7 +299,7 @@ public final class Presence extends Stanza implements TypedCloneable<Presence> {
unsubscribed, unsubscribed,
/** /**
* The presence packet contains an error message. * The presence stanza(/packet) contains an error message.
*/ */
error, error,

View file

@ -20,7 +20,7 @@ package org.jivesoftware.smack.packet;
import org.jivesoftware.smack.util.XmlStringBuilder; import org.jivesoftware.smack.util.XmlStringBuilder;
/** /**
* IQ packet that will be sent to the server to establish a session.<p> * IQ stanza(/packet) that will be sent to the server to establish a session.<p>
* *
* If a server supports sessions, it MUST include a <i>session</i> element in the * If a server supports sessions, it MUST include a <i>session</i> element in the
* stream features it advertises to a client after the completion of stream authentication. * stream features it advertises to a client after the completion of stream authentication.

View file

@ -34,7 +34,7 @@ import java.util.Locale;
import java.util.Set; import java.util.Set;
/** /**
* Base class for XMPP Stanzas, which are called Packet in older versions of Smack (i.e. &lt; 4.1). * Base class for XMPP Stanzas, which are called Stanza(/Packet) in older versions of Smack (i.e. &lt; 4.1).
* <p> * <p>
* Every stanza has a unique ID (which is automatically generated, but can be overridden). Stanza * Every stanza has a unique ID (which is automatically generated, but can be overridden). Stanza
* IDs are required for IQ stanzas and recommended for presence and message stanzas. Optionally, the * IDs are required for IQ stanzas and recommended for presence and message stanzas. Optionally, the
@ -115,7 +115,7 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Sets the unique ID of the packet. To indicate that a packet has no id * Sets the unique ID of the packet. To indicate that a stanza(/packet) has no id
* pass <code>null</code> as the packet's id value. * pass <code>null</code> as the packet's id value.
* *
* @param id the unique ID for the packet. * @param id the unique ID for the packet.
@ -150,11 +150,11 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Returns who the packet is being sent "to", or <tt>null</tt> if * Returns who the stanza(/packet) is being sent "to", or <tt>null</tt> if
* the value is not set. The XMPP protocol often makes the "to" * the value is not set. The XMPP protocol often makes the "to"
* attribute optional, so it does not always need to be set.<p> * attribute optional, so it does not always need to be set.<p>
* *
* @return who the packet is being sent to, or <tt>null</tt> if the * @return who the stanza(/packet) is being sent to, or <tt>null</tt> if the
* value has not been set. * value has not been set.
*/ */
public Jid getTo() { public Jid getTo() {
@ -162,10 +162,10 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Sets who the packet is being sent "to". The XMPP protocol often makes * Sets who the stanza(/packet) is being sent "to". The XMPP protocol often makes
* the "to" attribute optional, so it does not always need to be set. * the "to" attribute optional, so it does not always need to be set.
* *
* @param to who the packet is being sent to. * @param to who the stanza(/packet) is being sent to.
* @throws IllegalArgumentException if to is not a valid JID String. * @throws IllegalArgumentException if to is not a valid JID String.
* @deprecated use {@link #setTo(Jid)} instead. * @deprecated use {@link #setTo(Jid)} instead.
*/ */
@ -192,11 +192,11 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Returns who the packet is being sent "from" or <tt>null</tt> if * Returns who the stanza(/packet) is being sent "from" or <tt>null</tt> if
* the value is not set. The XMPP protocol often makes the "from" * the value is not set. The XMPP protocol often makes the "from"
* attribute optional, so it does not always need to be set.<p> * attribute optional, so it does not always need to be set.<p>
* *
* @return who the packet is being sent from, or <tt>null</tt> if the * @return who the stanza(/packet) is being sent from, or <tt>null</tt> if the
* value has not been set. * value has not been set.
*/ */
public Jid getFrom() { public Jid getFrom() {
@ -204,11 +204,11 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Sets who the packet is being sent "from". The XMPP protocol often * Sets who the stanza(/packet) is being sent "from". The XMPP protocol often
* makes the "from" attribute optional, so it does not always need to * makes the "from" attribute optional, so it does not always need to
* be set. * be set.
* *
* @param from who the packet is being sent to. * @param from who the stanza(/packet) is being sent to.
* @throws IllegalArgumentException if from is not a valid JID String. * @throws IllegalArgumentException if from is not a valid JID String.
* @deprecated use {@link #setFrom(Jid)} instead. * @deprecated use {@link #setFrom(Jid)} instead.
*/ */
@ -287,7 +287,7 @@ public abstract class Stanza implements TopLevelStreamElement {
/** /**
* Return a set of all extensions with the given element name <emph>and</emph> namespace. * Return a set of all extensions with the given element name <emph>and</emph> namespace.
* <p> * <p>
* Changes to the returned set will update the packet extensions, if the returned set is not the empty set. * Changes to the returned set will update the stanza(/packet) extensions, if the returned set is not the empty set.
* </p> * </p>
* *
* @param elementName the element name, must not be null. * @param elementName the element name, must not be null.
@ -303,13 +303,13 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Returns the first extension of this packet that has the given namespace. * Returns the first extension of this stanza(/packet) that has the given namespace.
* <p> * <p>
* When possible, use {@link #getExtension(String,String)} instead. * When possible, use {@link #getExtension(String,String)} instead.
* </p> * </p>
* *
* @param namespace the namespace of the extension that is desired. * @param namespace the namespace of the extension that is desired.
* @return the packet extension with the given namespace. * @return the stanza(/packet) extension with the given namespace.
*/ */
public ExtensionElement getExtension(String namespace) { public ExtensionElement getExtension(String namespace) {
return PacketUtil.extensionElementFrom(getExtensions(), null, namespace); return PacketUtil.extensionElementFrom(getExtensions(), null, namespace);
@ -347,9 +347,9 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Adds a packet extension to the packet. Does nothing if extension is null. * Adds a stanza(/packet) extension to the packet. Does nothing if extension is null.
* *
* @param extension a packet extension. * @param extension a stanza(/packet) extension.
*/ */
public void addExtension(ExtensionElement extension) { public void addExtension(ExtensionElement extension) {
if (extension == null) return; if (extension == null) return;
@ -360,9 +360,9 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Adds a collection of packet extensions to the packet. Does nothing if extensions is null. * Adds a collection of stanza(/packet) extensions to the packet. Does nothing if extensions is null.
* *
* @param extensions a collection of packet extensions * @param extensions a collection of stanza(/packet) extensions
*/ */
public void addExtensions(Collection<ExtensionElement> extensions) { public void addExtensions(Collection<ExtensionElement> extensions) {
if (extensions == null) return; if (extensions == null) return;
@ -372,14 +372,14 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Check if a packet extension with the given element and namespace exists. * Check if a stanza(/packet) extension with the given element and namespace exists.
* <p> * <p>
* The argument <code>elementName</code> may be null. * The argument <code>elementName</code> may be null.
* </p> * </p>
* *
* @param elementName * @param elementName
* @param namespace * @param namespace
* @return true if a packet extension exists, false otherwise. * @return true if a stanza(/packet) extension exists, false otherwise.
*/ */
public boolean hasExtension(String elementName, String namespace) { public boolean hasExtension(String elementName, String namespace) {
if (elementName == null) { if (elementName == null) {
@ -392,10 +392,10 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Check if a packet extension with the given namespace exists. * Check if a stanza(/packet) extension with the given namespace exists.
* *
* @param namespace * @param namespace
* @return true if a packet extension exists, false otherwise. * @return true if a stanza(/packet) extension exists, false otherwise.
*/ */
public boolean hasExtension(String namespace) { public boolean hasExtension(String namespace) {
synchronized (packetExtensions) { synchronized (packetExtensions) {
@ -409,11 +409,11 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Remove the packet extension with the given elementName and namespace. * Remove the stanza(/packet) extension with the given elementName and namespace.
* *
* @param elementName * @param elementName
* @param namespace * @param namespace
* @return the removed packet extension or null. * @return the removed stanza(/packet) extension or null.
*/ */
public ExtensionElement removeExtension(String elementName, String namespace) { public ExtensionElement removeExtension(String elementName, String namespace) {
String key = XmppStringUtils.generateKey(elementName, namespace); String key = XmppStringUtils.generateKey(elementName, namespace);
@ -423,10 +423,10 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Removes a packet extension from the packet. * Removes a stanza(/packet) extension from the packet.
* *
* @param extension the packet extension to remove. * @param extension the stanza(/packet) extension to remove.
* @return the removed packet extension or null. * @return the removed stanza(/packet) extension or null.
*/ */
public ExtensionElement removeExtension(ExtensionElement extension) { public ExtensionElement removeExtension(ExtensionElement extension) {
return removeExtension(extension.getElementName(), extension.getNamespace()); return removeExtension(extension.getElementName(), extension.getNamespace());
@ -440,10 +440,10 @@ public abstract class Stanza implements TopLevelStreamElement {
/** /**
* Returns the extension sub-packets (including properties data) as an XML * Returns the extension sub-packets (including properties data) as an XML
* String, or the Empty String if there are no packet extensions. * String, or the Empty String if there are no stanza(/packet) extensions.
* *
* @return the extension sub-packets as XML or the Empty String if there * @return the extension sub-packets as XML or the Empty String if there
* are no packet extensions. * are no stanza(/packet) extensions.
*/ */
protected final XmlStringBuilder getExtensionsXML() { protected final XmlStringBuilder getExtensionsXML() {
XmlStringBuilder xml = new XmlStringBuilder(); XmlStringBuilder xml = new XmlStringBuilder();
@ -476,7 +476,7 @@ public abstract class Stanza implements TopLevelStreamElement {
} }
/** /**
* Append an XMPPError is this packet has one set. * Append an XMPPError is this stanza(/packet) has one set.
* *
* @param xml the XmlStringBuilder to append the error to. * @param xml the XmlStringBuilder to append the error to.
*/ */

View file

@ -27,7 +27,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
/** /**
* Represents an XMPP error sub-packet. Typically, a server responds to a request that has * Represents an 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 type, * problems by sending the stanza(/packet) back and including an error packet. Each error has a type,
* error condition as well as as an optional text explanation. Typical errors are:<p> * error condition as well as as an optional text explanation. Typical errors are:<p>
* *
* <table border=1> * <table border=1>
@ -112,7 +112,7 @@ public class XMPPError extends AbstractError {
* @param type the error type. * @param type the error type.
* @param condition the error condition. * @param condition the error condition.
* @param descriptiveTexts * @param descriptiveTexts
* @param extensions list of packet extensions * @param extensions list of stanza(/packet) extensions
*/ */
public XMPPError(Condition condition, String conditionText, String errorGenerator, Type type, Map<String, String> descriptiveTexts, public XMPPError(Condition condition, String conditionText, String errorGenerator, Type type, Map<String, String> descriptiveTexts,
List<ExtensionElement> extensions) { List<ExtensionElement> extensions) {

View file

@ -23,7 +23,7 @@ package org.jivesoftware.smack.parsing;
* place the parser after the faulty stanza. * place the parser after the faulty stanza.
* *
* Subclasses may or may not override certain methods of this class. Each of these methods will receive the exception * Subclasses may or may not override certain methods of this class. Each of these methods will receive the exception
* that caused the parsing error and an instance of an Unparsed Packet type. The latter can be used to inspect the * that caused the parsing error and an instance of an Unparsed Stanza(/Packet) type. The latter can be used to inspect the
* stanza that caused the parsing error by using the getContent() (for example {@link UnparsablePacket#getContent()}) * stanza that caused the parsing error by using the getContent() (for example {@link UnparsablePacket#getContent()})
* method. * method.
* *

View file

@ -19,7 +19,7 @@ package org.jivesoftware.smack.provider;
import org.jivesoftware.smack.packet.ExtensionElement; import org.jivesoftware.smack.packet.ExtensionElement;
/** /**
* Defines the information required to register a packet extension Provider with the {@link ProviderManager} when using the * Defines the information required to register a stanza(/packet) extension Provider with the {@link ProviderManager} when using the
* {@link ProviderLoader}. * {@link ProviderLoader}.
* *
* @author Robin Collier * @author Robin Collier

View file

@ -64,7 +64,7 @@ import org.jxmpp.util.XmppStringUtils;
* interface, or extend the IQ class. In the former case, each IQProvider is responsible for * interface, or extend the IQ class. In the former case, each IQProvider is responsible for
* parsing the raw XML stream to create an IQ instance. In the latter case, bean introspection * parsing the raw XML stream to create an IQ instance. In the latter case, bean introspection
* is used to try to automatically set properties of the IQ instance using the values found * is used to try to automatically set properties of the IQ instance using the values found
* in the IQ packet XML. For example, an XMPP time packet resembles the following: * in the IQ stanza(/packet) XML. For example, an XMPP time stanza(/packet) resembles the following:
* <pre> * <pre>
* &lt;iq type='result' to='joe@example.com' from='mary@example.com' id='time_1'&gt; * &lt;iq type='result' to='joe@example.com' from='mary@example.com' id='time_1'&gt;
* &lt;query xmlns='jabber:iq:time'&gt; * &lt;query xmlns='jabber:iq:time'&gt;
@ -74,13 +74,13 @@ import org.jxmpp.util.XmppStringUtils;
* &lt;/query&gt; * &lt;/query&gt;
* &lt;/iq&gt;</pre> * &lt;/iq&gt;</pre>
* *
* In order for this packet to be automatically mapped to the Time object listed in the * In order for this stanza(/packet) to be automatically mapped to the Time object listed in the
* providers file above, it must have the methods setUtc(String), setTz(String), and * providers file above, it must have the methods setUtc(String), setTz(String), and
* setDisplay(String). The introspection service will automatically try to convert the String * setDisplay(String). The introspection service will automatically try to convert the String
* value from the XML into a boolean, int, long, float, double, or Class depending on the * value from the XML into a boolean, int, long, float, double, or Class depending on the
* type the IQ instance expects.<p> * type the IQ instance expects.<p>
* *
* A pluggable system for packet extensions, child elements in a custom namespace for * A pluggable system for stanza(/packet) extensions, child elements in a custom namespace for
* message and presence packets, also exists. Each extension provider * message and presence packets, also exists. Each extension provider
* is registered with a name space in the smack.providers file as in the following example: * is registered with a name space in the smack.providers file as in the following example:
* *
@ -95,12 +95,12 @@ import org.jxmpp.util.XmppStringUtils;
* &lt;/smackProviders&gt;</pre> * &lt;/smackProviders&gt;</pre>
* *
* If multiple provider entries attempt to register to handle the same element name and namespace, * If multiple provider entries attempt to register to handle the same element name and namespace,
* the first entry loaded from the classpath will take precedence. Whenever a packet extension * the first entry loaded from the classpath will take precedence. Whenever a stanza(/packet) extension
* is found in a packet, parsing will be passed to the correct provider. Each provider * is found in a packet, parsing will be passed to the correct provider. Each provider
* can either implement the PacketExtensionProvider interface or be a standard Java Bean. In * can either implement the PacketExtensionProvider interface or be a standard Java Bean. In
* the former case, each extension provider is responsible for parsing the raw XML stream to * the former case, each extension provider is responsible for parsing the raw XML stream to
* contruct an object. In the latter case, bean introspection is used to try to automatically * contruct an object. In the latter case, bean introspection is used to try to automatically
* set the properties of th class using the values in the packet extension sub-element. When an * set the properties of th class using the values in the stanza(/packet) extension sub-element. When an
* extension provider is not registered for an element name and namespace combination, Smack will * extension provider is not registered for an element name and namespace combination, Smack will
* store all top-level elements of the sub-packet in DefaultPacketExtension object and then * store all top-level elements of the sub-packet in DefaultPacketExtension object and then
* attach it to the packet.<p> * attach it to the packet.<p>
@ -146,7 +146,7 @@ public final class ProviderManager {
/** /**
* Returns the IQ provider registered to the specified XML element name and namespace. * Returns the IQ provider registered to the specified XML element name and namespace.
* For example, if a provider was registered to the element name "query" and the * For example, if a provider was registered to the element name "query" and the
* namespace "jabber:iq:time", then the following packet would trigger the provider: * namespace "jabber:iq:time", then the following stanza(/packet) would trigger the provider:
* *
* <pre> * <pre>
* &lt;iq type='result' to='joe@example.com' from='mary@example.com' id='time_1'&gt; * &lt;iq type='result' to='joe@example.com' from='mary@example.com' id='time_1'&gt;
@ -220,9 +220,9 @@ public final class ProviderManager {
} }
/** /**
* Returns the packet extension provider registered to the specified XML element name * Returns the stanza(/packet) extension provider registered to the specified XML element name
* and namespace. For example, if a provider was registered to the element name "x" and the * and namespace. For example, if a provider was registered to the element name "x" and the
* namespace "jabber:x:event", then the following packet would trigger the provider: * namespace "jabber:x:event", then the following stanza(/packet) would trigger the provider:
* *
* <pre> * <pre>
* &lt;message to='romeo@montague.net' id='message_1'&gt; * &lt;message to='romeo@montague.net' id='message_1'&gt;
@ -273,7 +273,7 @@ public final class ProviderManager {
* *
* @param elementName the XML element name. * @param elementName the XML element name.
* @param namespace the XML namespace. * @param namespace the XML namespace.
* @return the key of the removed packet extension provider * @return the key of the removed stanza(/packet) extension provider
*/ */
public static String removeExtensionProvider(String elementName, String namespace) { public static String removeExtensionProvider(String elementName, String namespace) {
String key = getKey(elementName, namespace); String key = getKey(elementName, namespace);

View file

@ -139,7 +139,7 @@ public class PacketParserUtils {
* connection is optional and is used to return feature-not-implemented errors for unknown IQ stanzas. * connection is optional and is used to return feature-not-implemented errors for unknown IQ stanzas.
* *
* @param parser * @param parser
* @return a packet which is either a Message, IQ or Presence. * @return a stanza(/packet) which is either a Message, IQ or Presence.
* @throws Exception * @throws Exception
*/ */
public static Stanza parseStanza(XmlPullParser parser) throws Exception { public static Stanza parseStanza(XmlPullParser parser) throws Exception {
@ -899,7 +899,7 @@ public class PacketParserUtils {
* Parses an extension element. * Parses an extension element.
* *
* @param elementName the XML element name of the extension element. * @param elementName the XML element name of the extension element.
* @param namespace the XML namespace of the packet extension. * @param namespace the XML namespace of the stanza(/packet) extension.
* @param parser the XML parser, positioned at the starting element of the extension. * @param parser the XML parser, positioned at the starting element of the extension.
* @return an extension element. * @return an extension element.
*/ */

View file

@ -44,7 +44,7 @@ import org.jxmpp.stringprep.XmppStringprepException;
* *
* Packets that should be processed by the client to simulate a received stanza * Packets that should be processed by the client to simulate a received stanza
* can be delivered using the {@linkplain #processPacket(Stanza)} method. * can be delivered using the {@linkplain #processPacket(Stanza)} method.
* It invokes the registered packet interceptors and listeners. * It invokes the registered stanza(/packet) interceptors and listeners.
* *
* @see XMPPConnection * @see XMPPConnection
* @author Guenther Niess * @author Guenther Niess
@ -154,7 +154,7 @@ public class DummyConnection extends AbstractXMPPConnection {
} }
/** /**
* Returns the first packet that's sent through {@link #sendStanza(Stanza)} * Returns the first stanza(/packet) that's sent through {@link #sendStanza(Stanza)}
* and that has not been returned by earlier calls to this method. * and that has not been returned by earlier calls to this method.
* *
* @return a sent packet. * @return a sent packet.
@ -164,7 +164,7 @@ public class DummyConnection extends AbstractXMPPConnection {
} }
/** /**
* Returns the first packet that's sent through {@link #sendStanza(Stanza)} * Returns the first stanza(/packet) that's sent through {@link #sendStanza(Stanza)}
* and that has not been returned by earlier calls to this method. This * and that has not been returned by earlier calls to this method. This
* method will block for up to the specified number of seconds if no packets * method will block for up to the specified number of seconds if no packets
* have been sent yet. * have been sent yet.
@ -182,11 +182,11 @@ public class DummyConnection extends AbstractXMPPConnection {
} }
/** /**
* Processes a packet through the installed packet collectors and listeners * Processes a stanza(/packet) through the installed stanza(/packet) collectors and listeners
* and letting them examine the packet to see if they are a match with the * and letting them examine the stanza(/packet) to see if they are a match with the
* filter. * filter.
* *
* @param packet the packet to process. * @param packet the stanza(/packet) to process.
*/ */
public void processPacket(Stanza packet) { public void processPacket(Stanza packet) {
invokePacketCollectorsAndNotifyRecvListeners(packet); invokePacketCollectorsAndNotifyRecvListeners(packet);

View file

@ -66,8 +66,8 @@ public class ThreadedDummyConnection extends DummyConnection {
} }
/** /**
* Calling this method will cause the next sendStanza call with an IQ packet to timeout. * Calling this method will cause the next sendStanza call with an IQ stanza(/packet) to timeout.
* This is accomplished by simply stopping the auto creating of the reply packet * This is accomplished by simply stopping the auto creating of the reply stanza(/packet)
* or processing one that was entered via {@link #processPacket(Stanza)}. * or processing one that was entered via {@link #processPacket(Stanza)}.
*/ */
public void setTimeout() { public void setTimeout() {

View file

@ -794,10 +794,10 @@ public class EnhancedDebugger implements SmackDebugger {
} }
/** /**
* Adds the received packet detail to the messages table. * Adds the received stanza(/packet) detail to the messages table.
* *
* @param dateFormatter the SimpleDateFormat to use to format Dates * @param dateFormatter the SimpleDateFormat to use to format Dates
* @param packet the read packet to add to the table * @param packet the read stanza(/packet) to add to the table
*/ */
private void addReadPacketToTable(final SimpleDateFormat dateFormatter, final Stanza packet) { private void addReadPacketToTable(final SimpleDateFormat dateFormatter, final Stanza packet) {
SwingUtilities.invokeLater(new Runnable() { SwingUtilities.invokeLater(new Runnable() {
@ -855,10 +855,10 @@ public class EnhancedDebugger implements SmackDebugger {
} }
/** /**
* Adds the sent packet detail to the messages table. * Adds the sent stanza(/packet) detail to the messages table.
* *
* @param dateFormatter the SimpleDateFormat to use to format Dates * @param dateFormatter the SimpleDateFormat to use to format Dates
* @param packet the sent packet to add to the table * @param packet the sent stanza(/packet) to add to the table
*/ */
private void addSentPacketToTable(final SimpleDateFormat dateFormatter, final Stanza packet) { private void addSentPacketToTable(final SimpleDateFormat dateFormatter, final Stanza packet) {
SwingUtilities.invokeLater(new Runnable() { SwingUtilities.invokeLater(new Runnable() {
@ -972,7 +972,7 @@ public class EnhancedDebugger implements SmackDebugger {
} }
/** /**
* An ad-hoc packet is like any regular packet but with the exception that it's intention is * An ad-hoc stanza(/packet) is like any regular stanza(/packet) but with the exception that it's intention is
* to be used only <b>to send packets</b>.<p> * to be used only <b>to send packets</b>.<p>
* <p/> * <p/>
* The whole text to send must be passed to the constructor. This implies that the client of * The whole text to send must be passed to the constructor. This implies that the client of
@ -986,7 +986,7 @@ public class EnhancedDebugger implements SmackDebugger {
* Create a new AdHocPacket with the text to send. The passed text must be a valid text to * Create a new AdHocPacket with the text to send. The passed text must be a valid text to
* send to the server, no validation will be done on the passed text. * send to the server, no validation will be done on the passed text.
* *
* @param text the whole text of the packet to send * @param text the whole text of the stanza(/packet) to send
*/ */
public AdHocPacket(String text) { public AdHocPacket(String text) {
this.text = text; this.text = text;

View file

@ -38,7 +38,7 @@ import org.jivesoftware.smackx.carbons.packet.CarbonExtension.Private;
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; import org.jivesoftware.smackx.disco.ServiceDiscoveryManager;
/** /**
* Packet extension for XEP-0280: Message Carbons. This class implements * Stanza(/Packet) extension for XEP-0280: Message Carbons. This class implements
* the manager for registering {@link CarbonExtension} support, enabling and disabling * the manager for registering {@link CarbonExtension} support, enabling and disabling
* message carbons. * message carbons.
* *

View file

@ -22,12 +22,12 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
import org.jivesoftware.smackx.forward.packet.Forwarded; import org.jivesoftware.smackx.forward.packet.Forwarded;
/** /**
* Packet extension for XEP-0280: Message Carbons. The extension * Stanza(/Packet) extension for XEP-0280: Message Carbons. The extension
* <a href="http://xmpp.org/extensions/xep-0280.html">XEP-0280</a> is * <a href="http://xmpp.org/extensions/xep-0280.html">XEP-0280</a> is
* meant to synchronize a message flow to multiple presences of a user. * meant to synchronize a message flow to multiple presences of a user.
* *
* <p> * <p>
* It accomplishes this by wrapping a {@link Forwarded} packet in a <b>sent</b> * It accomplishes this by wrapping a {@link Forwarded} stanza(/packet) in a <b>sent</b>
* or <b>received</b> element * or <b>received</b> element
* *
* @author Georg Lukas * @author Georg Lukas
@ -128,7 +128,7 @@ public class CarbonExtension implements ExtensionElement {
} }
/** /**
* Packet extension indicating that a message may not be carbon-copied. Adding this * Stanza(/Packet) extension indicating that a message may not be carbon-copied. Adding this
* extension to any message will disallow that message from being copied. * extension to any message will disallow that message from being copied.
*/ */
public static class Private implements ExtensionElement { public static class Private implements ExtensionElement {

View file

@ -26,7 +26,7 @@ import org.xmlpull.v1.XmlPullParser;
/** /**
* This class implements the {@link ExtensionElementProvider} to parse * This class implements the {@link ExtensionElementProvider} to parse
* carbon copied messages from a packet. It will return a {@link CarbonExtension} packet extension. * carbon copied messages from a packet. It will return a {@link CarbonExtension} stanza(/packet) extension.
* *
* @author Georg Lukas * @author Georg Lukas
* *

View file

@ -48,10 +48,10 @@ public class GcmPacketExtension extends AbstractJsonPacketExtension {
} }
/** /**
* Retrieve the GCM packet extension from the packet. * Retrieve the GCM stanza(/packet) extension from the packet.
* *
* @param packet * @param packet
* @return the GCM packet extension or null. * @return the GCM stanza(/packet) extension or null.
*/ */
public static GcmPacketExtension from(Stanza packet) { public static GcmPacketExtension from(Stanza packet) {
return packet.getExtension(ELEMENT, NAMESPACE); return packet.getExtension(ELEMENT, NAMESPACE);

View file

@ -20,7 +20,7 @@ import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smackx.hoxt.HOXTManager; import org.jivesoftware.smackx.hoxt.HOXTManager;
/** /**
* Packet extension for base64 binary chunks.<p> * Stanza(/Packet) extension for base64 binary chunks.<p>
* This class is immutable. * This class is immutable.
* *
* @author Andriy Tsykholyas * @author Andriy Tsykholyas

View file

@ -28,7 +28,7 @@ import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException; import java.io.IOException;
/** /**
* Abstract parent for Req and Resp packet providers. * Abstract parent for Req and Resp stanza(/packet) providers.
* *
* @author Andriy Tsykholyas * @author Andriy Tsykholyas
* @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a> * @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a>

View file

@ -24,7 +24,7 @@ import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
/** /**
* Packet provider for base64 binary chunks. * Stanza(/Packet) provider for base64 binary chunks.
* *
* @author Andriy Tsykholyas * @author Andriy Tsykholyas
* @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a> * @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a>

View file

@ -21,7 +21,7 @@ import org.jivesoftware.smackx.hoxt.packet.HttpOverXmppReq;
import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParser;
/** /**
* Req packet provider. * Req stanza(/packet) provider.
* *
* @author Andriy Tsykholyas * @author Andriy Tsykholyas
* @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a> * @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a>

View file

@ -20,7 +20,7 @@ import org.jivesoftware.smackx.hoxt.packet.HttpOverXmppResp;
import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParser;
/** /**
* Resp packet provider. * Resp stanza(/packet) provider.
* *
* @author Andriy Tsykholyas * @author Andriy Tsykholyas
* @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a> * @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a>

View file

@ -43,10 +43,10 @@ public class JsonPacketExtension extends AbstractJsonPacketExtension {
} }
/** /**
* Retrieve the JSON packet extension from the packet. * Retrieve the JSON stanza(/packet) extension from the packet.
* *
* @param packet * @param packet
* @return the JSON packet extension or null. * @return the JSON stanza(/packet) extension or null.
*/ */
public static JsonPacketExtension from(Stanza packet) { public static JsonPacketExtension from(Stanza packet) {
return packet.getExtension(ELEMENT, NAMESPACE); return packet.getExtension(ELEMENT, NAMESPACE);

View file

@ -72,11 +72,11 @@ public class MultipleRecipientInfo {
} }
/** /**
* Returns true if the received packet should not be replied. Use * Returns true if the received stanza(/packet) should not be replied. Use
* {@link MultipleRecipientManager#reply(org.jivesoftware.smack.XMPPConnection, org.jivesoftware.smack.packet.Message, org.jivesoftware.smack.packet.Message)} * {@link MultipleRecipientManager#reply(org.jivesoftware.smack.XMPPConnection, org.jivesoftware.smack.packet.Message, org.jivesoftware.smack.packet.Message)}
* to send replies. * to send replies.
* *
* @return true if the received packet should not be replied. * @return true if the received stanza(/packet) should not be replied.
*/ */
public boolean shouldNotReply() { public boolean shouldNotReply() {
return !extension.getAddressesOfType(MultipleAddresses.Type.noreply).isEmpty(); return !extension.getAddressesOfType(MultipleAddresses.Type.noreply).isEmpty();

View file

@ -47,14 +47,14 @@ import java.util.List;
public class MultipleRecipientManager { public class MultipleRecipientManager {
/** /**
* Sends the specified packet to the collection of specified recipients using the * Sends the specified stanza(/packet) to the collection of specified recipients using the
* specified connection. If the server has support for XEP-33 then only one * specified connection. If the server has support for XEP-33 then only one
* packet is going to be sent to the server with the multiple recipient instructions. * stanza(/packet) is going to be sent to the server with the multiple recipient instructions.
* However, if XEP-33 is not supported by the server then the client is going to send * However, if XEP-33 is not supported by the server then the client is going to send
* the packet to each recipient. * the stanza(/packet) to each recipient.
* *
* @param connection the connection to use to send the packet. * @param connection the connection to use to send the packet.
* @param packet the packet to send to the list of recipients. * @param packet the stanza(/packet) to send to the list of recipients.
* @param to the collection of JIDs to include in the TO list or <tt>null</tt> if no TO * @param to the collection of JIDs to include in the TO list or <tt>null</tt> if no TO
* list exists. * list exists.
* @param cc the collection of JIDs to include in the CC list or <tt>null</tt> if no CC * @param cc the collection of JIDs to include in the CC list or <tt>null</tt> if no CC
@ -75,13 +75,13 @@ public class MultipleRecipientManager {
} }
/** /**
* Sends the specified packet to the collection of specified recipients using the specified * Sends the specified stanza(/packet) to the collection of specified recipients using the specified
* connection. If the server has support for XEP-33 then only one packet is going to be sent to * connection. If the server has support for XEP-33 then only one stanza(/packet) is going to be sent to
* the server with the multiple recipient instructions. However, if XEP-33 is not supported by * the server with the multiple recipient instructions. However, if XEP-33 is not supported by
* the server then the client is going to send the packet to each recipient. * the server then the client is going to send the stanza(/packet) to each recipient.
* *
* @param connection the connection to use to send the packet. * @param connection the connection to use to send the packet.
* @param packet the packet to send to the list of recipients. * @param packet the stanza(/packet) to send to the list of recipients.
* @param to the collection of JIDs to include in the TO list or <tt>null</tt> if no TO list exists. * @param to the collection of JIDs to include in the TO list or <tt>null</tt> if no TO list exists.
* @param cc the collection of JIDs to include in the CC list or <tt>null</tt> if no CC list exists. * @param cc the collection of JIDs to include in the CC list or <tt>null</tt> if no CC list exists.
* @param bcc the collection of JIDs to include in the BCC list or <tt>null</tt> if no BCC list * @param bcc the collection of JIDs to include in the BCC list or <tt>null</tt> if no BCC list
@ -130,12 +130,12 @@ public class MultipleRecipientManager {
} }
/** /**
* Sends a reply to a previously received packet that was sent to multiple recipients. Before * Sends a reply to a previously received stanza(/packet) that was sent to multiple recipients. Before
* attempting to send the reply message some checkings are performed. If any of those checkings * attempting to send the reply message some checkings are performed. If any of those checkings
* fail then an XMPPException is going to be thrown with the specific error detail. * fail then an XMPPException is going to be thrown with the specific error detail.
* *
* @param connection the connection to use to send the reply. * @param connection the connection to use to send the reply.
* @param original the previously received packet that was sent to multiple recipients. * @param original the previously received stanza(/packet) that was sent to multiple recipients.
* @param reply the new message to send as a reply. * @param reply the new message to send as a reply.
* @throws SmackException * @throws SmackException
* @throws XMPPErrorException * @throws XMPPErrorException
@ -190,12 +190,12 @@ public class MultipleRecipientManager {
} }
/** /**
* Returns the {@link MultipleRecipientInfo} contained in the specified packet or * Returns the {@link MultipleRecipientInfo} contained in the specified stanza(/packet) or
* <tt>null</tt> if none was found. Only packets sent to multiple recipients will * <tt>null</tt> if none was found. Only packets sent to multiple recipients will
* contain such information. * contain such information.
* *
* @param packet the packet to check. * @param packet the stanza(/packet) to check.
* @return the MultipleRecipientInfo contained in the specified packet or <tt>null</tt> * @return the MultipleRecipientInfo contained in the specified stanza(/packet) or <tt>null</tt>
* if none was found. * if none was found.
*/ */
public static MultipleRecipientInfo getMultipleRecipientInfo(Stanza packet) { public static MultipleRecipientInfo getMultipleRecipientInfo(Stanza packet) {
@ -291,9 +291,9 @@ public class MultipleRecipientManager {
} }
/** /**
* Packet that holds the XML stanza to send. This class is useful when the same packet * Stanza(/Packet) that holds the XML stanza to send. This class is useful when the same packet
* is needed to be sent to different recipients. Since using the same packet is not possible * is needed to be sent to different recipients. Since using the same stanza(/packet) is not possible
* (i.e. cannot change the TO address of a queues packet to be sent) then this class was * (i.e. cannot change the TO address of a queues stanza(/packet) to be sent) then this class was
* created to keep the XML stanza to send. * created to keep the XML stanza to send.
*/ */
private static class PacketCopy extends Stanza { private static class PacketCopy extends Stanza {
@ -301,10 +301,10 @@ public class MultipleRecipientManager {
private CharSequence text; private CharSequence text;
/** /**
* Create a copy of a packet with the text to send. The passed text must be a valid text to * Create a copy of a stanza(/packet) with the text to send. The passed text must be a valid text to
* send to the server, no validation will be done on the passed text. * send to the server, no validation will be done on the passed text.
* *
* @param text the whole text of the packet to send * @param text the whole text of the stanza(/packet) to send
*/ */
public PacketCopy(CharSequence text) { public PacketCopy(CharSequence text) {
this.text = text; this.text = text;

View file

@ -26,7 +26,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* Packet extension that contains the list of addresses that a packet should be sent or was sent. * Stanza(/Packet) extension that contains the list of addresses that a stanza(/packet) should be sent or was sent.
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
@ -55,14 +55,14 @@ public class MultipleAddresses implements ExtensionElement {
private List<Address> addresses = new ArrayList<Address>(); private List<Address> addresses = new ArrayList<Address>();
/** /**
* Adds a new address to which the packet is going to be sent or was sent. * Adds a new address to which the stanza(/packet) is going to be sent or was sent.
* *
* @param type on of the static type (BCC, CC, NO_REPLY, REPLY_ROOM, etc.) * @param type on of the static type (BCC, CC, NO_REPLY, REPLY_ROOM, etc.)
* @param jid the JID address of the recipient. * @param jid the JID address of the recipient.
* @param node used to specify a sub-addressable unit at a particular JID, corresponding to * @param node used to specify a sub-addressable unit at a particular JID, corresponding to
* a Service Discovery node. * a Service Discovery node.
* @param desc used to specify human-readable information for this address. * @param desc used to specify human-readable information for this address.
* @param delivered true when the packet was already delivered to this address. * @param delivered true when the stanza(/packet) was already delivered to this address.
* @param uri used to specify an external system address, such as a sip:, sips:, or im: URI. * @param uri used to specify an external system address, such as a sip:, sips:, or im: URI.
*/ */
public void addAddress(Type type, Jid jid, String node, String desc, boolean delivered, public void addAddress(Type type, Jid jid, String node, String desc, boolean delivered,
@ -79,7 +79,7 @@ public class MultipleAddresses implements ExtensionElement {
} }
/** /**
* Indicate that the packet being sent should not be replied. * Indicate that the stanza(/packet) being sent should not be replied.
*/ */
public void setNoReply() { public void setNoReply() {
// Create a new address with the specificed configuration // Create a new address with the specificed configuration

View file

@ -129,7 +129,7 @@ public class AMPExtension implements ExtensionElement {
* Returns the XML element name of the extension sub-packet root element. * Returns the XML element name of the extension sub-packet root element.
* Always returns "amp" * Always returns "amp"
* *
* @return the XML element name of the packet extension. * @return the XML element name of the stanza(/packet) extension.
*/ */
@Override @Override
public String getElementName() { public String getElementName() {
@ -140,7 +140,7 @@ public class AMPExtension implements ExtensionElement {
* Returns the XML namespace of the extension sub-packet root element. * Returns the XML namespace of the extension sub-packet root element.
* According the specification the namespace is always "http://jabber.org/protocol/xhtml-im" * According the specification the namespace is always "http://jabber.org/protocol/xhtml-im"
* *
* @return the XML namespace of the packet extension. * @return the XML namespace of the stanza(/packet) extension.
*/ */
@Override @Override
public String getNamespace() { public String getNamespace() {

View file

@ -32,7 +32,7 @@ public class AMPExtensionProvider extends ExtensionElementProvider<AMPExtension>
private static final Logger LOGGER = Logger.getLogger(AMPExtensionProvider.class.getName()); private static final Logger LOGGER = Logger.getLogger(AMPExtensionProvider.class.getName());
/** /**
* Parses a AMPExtension packet (extension sub-packet). * Parses a AMPExtension stanza(/packet) (extension sub-packet).
* *
* @param parser the XML parser, positioned at the starting element of the extension. * @param parser the XML parser, positioned at the starting element of the extension.
* @return a PacketExtension. * @return a PacketExtension.

View file

@ -24,9 +24,9 @@ import org.jivesoftware.smackx.bytestreams.ibb.packet.DataPacketExtension;
/** /**
* DataListener handles all In-Band Bytestream IQ stanzas containing a data * DataListener handles all In-Band Bytestream IQ stanzas containing a data
* packet extension that don't belong to an existing session. * stanza(/packet) extension that don't belong to an existing session.
* <p> * <p>
* If a data packet is received it looks if a stored In-Band Bytestream session * If a data stanza(/packet) is received it looks if a stored In-Band Bytestream session
* exists. If no session with the given session ID exists an * exists. If no session with the given session ID exists an
* &lt;item-not-found/&gt; error is returned to the sender. * &lt;item-not-found/&gt; error is returned to the sender.
* <p> * <p>

View file

@ -50,7 +50,7 @@ import org.jxmpp.jid.Jid;
* in case the Socks5 bytestream method of transferring data is not available. * in case the Socks5 bytestream method of transferring data is not available.
* <p> * <p>
* There are two ways to send data over an In-Band Bytestream. It could either use IQ stanzas to * There are two ways to send data over an In-Band Bytestream. It could either use IQ stanzas to
* send data packets or message stanzas. If IQ stanzas are used every data packet is acknowledged by * send data packets or message stanzas. If IQ stanzas are used every data stanza(/packet) is acknowledged by
* the receiver. This is the recommended way to avoid possible rate-limiting penalties. Message * the receiver. This is the recommended way to avoid possible rate-limiting penalties. Message
* stanzas are not acknowledged because most XMPP server implementation don't support stanza * stanzas are not acknowledged because most XMPP server implementation don't support stanza
* flow-control method like <a href="http://xmpp.org/extensions/xep-0079.html">Advanced Message * flow-control method like <a href="http://xmpp.org/extensions/xep-0079.html">Advanced Message
@ -287,7 +287,7 @@ public class InBandBytestreamManager implements BytestreamManager {
* to the initiator. * to the initiator.
* <p> * <p>
* This method should be used if you are awaiting an In-Band Bytestream request as a reply to * This method should be used if you are awaiting an In-Band Bytestream request as a reply to
* another packet (e.g. file transfer). * another stanza(/packet) (e.g. file transfer).
* *
* @param sessionID to be ignored * @param sessionID to be ignored
*/ */
@ -439,7 +439,7 @@ public class InBandBytestreamManager implements BytestreamManager {
* Responses to the given IQ packet's sender with an XMPP error that an In-Band Bytestream is * Responses to the given IQ packet's sender with an XMPP error that an In-Band Bytestream is
* not accepted. * not accepted.
* *
* @param request IQ packet that should be answered with a not-acceptable error * @param request IQ stanza(/packet) that should be answered with a not-acceptable error
* @throws NotConnectedException * @throws NotConnectedException
* @throws InterruptedException * @throws InterruptedException
*/ */
@ -453,7 +453,7 @@ public class InBandBytestreamManager implements BytestreamManager {
* Responses to the given IQ packet's sender with an XMPP error that an In-Band Bytestream open * Responses to the given IQ packet's sender with an XMPP error that an In-Band Bytestream open
* request is rejected because its block size is greater than the maximum allowed block size. * request is rejected because its block size is greater than the maximum allowed block size.
* *
* @param request IQ packet that should be answered with a resource-constraint error * @param request IQ stanza(/packet) that should be answered with a resource-constraint error
* @throws NotConnectedException * @throws NotConnectedException
* @throws InterruptedException * @throws InterruptedException
*/ */
@ -467,7 +467,7 @@ public class InBandBytestreamManager implements BytestreamManager {
* Responses to the given IQ packet's sender with an XMPP error that an In-Band Bytestream * Responses to the given IQ packet's sender with an XMPP error that an In-Band Bytestream
* session could not be found. * session could not be found.
* *
* @param request IQ packet that should be answered with a item-not-found error * @param request IQ stanza(/packet) that should be answered with a item-not-found error
* @throws NotConnectedException * @throws NotConnectedException
* @throws InterruptedException * @throws InterruptedException
*/ */
@ -538,7 +538,7 @@ public class InBandBytestreamManager implements BytestreamManager {
} }
/** /**
* Disables the InBandBytestreamManager by removing its packet listeners and resetting its * Disables the InBandBytestreamManager by removing its stanza(/packet) listeners and resetting its
* internal status, which includes removing this instance from the managers map. * internal status, which includes removing this instance from the managers map.
*/ */
private void disableService() { private void disableService() {

View file

@ -231,7 +231,7 @@ public class InBandBytestreamSession implements BytestreamSession {
/** /**
* IBBInputStream class is the base implementation of an In-Band Bytestream input stream. * IBBInputStream class is the base implementation of an In-Band Bytestream input stream.
* Subclasses of this input stream must provide a packet listener along with a packet filter to * Subclasses of this input stream must provide a stanza(/packet) listener along with a stanza(/packet) filter to
* collect the In-Band Bytestream data packets. * collect the In-Band Bytestream data packets.
*/ */
private abstract class IBBInputStream extends InputStream { private abstract class IBBInputStream extends InputStream {
@ -270,16 +270,16 @@ public class InBandBytestreamSession implements BytestreamSession {
} }
/** /**
* Returns the packet listener that processes In-Band Bytestream data packets. * Returns the stanza(/packet) listener that processes In-Band Bytestream data packets.
* *
* @return the data packet listener * @return the data stanza(/packet) listener
*/ */
protected abstract StanzaListener getDataPacketListener(); protected abstract StanzaListener getDataPacketListener();
/** /**
* Returns the packet filter that accepts In-Band Bytestream data packets. * Returns the stanza(/packet) filter that accepts In-Band Bytestream data packets.
* *
* @return the data packet filter * @return the data stanza(/packet) filter
*/ */
protected abstract StanzaFilter getDataPacketFilter(); protected abstract StanzaFilter getDataPacketFilter();
@ -336,7 +336,7 @@ public class InBandBytestreamSession implements BytestreamSession {
} }
/** /**
* This method blocks until a data packet is received, the stream is closed or the current * This method blocks until a data stanza(/packet) is received, the stream is closed or the current
* thread is interrupted. * thread is interrupted.
* *
* @return <code>true</code> if data was received, otherwise <code>false</code> * @return <code>true</code> if data was received, otherwise <code>false</code>
@ -420,7 +420,7 @@ public class InBandBytestreamSession implements BytestreamSession {
} }
/** /**
* This method sets the close flag and removes the data packet listener. * This method sets the close flag and removes the data stanza(/packet) listener.
*/ */
private void closeInternal() { private void closeInternal() {
if (isClosed) { if (isClosed) {
@ -494,7 +494,7 @@ public class InBandBytestreamSession implements BytestreamSession {
protected StanzaFilter getDataPacketFilter() { protected StanzaFilter getDataPacketFilter() {
/* /*
* filter all IQ stanzas having type 'SET' (represented by Data class), containing a * filter all IQ stanzas having type 'SET' (represented by Data class), containing a
* data packet extension, matching session ID and recipient * data stanza(/packet) extension, matching session ID and recipient
*/ */
return new AndFilter(new StanzaTypeFilter(Data.class), new IBBDataPacketFilter()); return new AndFilter(new StanzaTypeFilter(Data.class), new IBBDataPacketFilter());
} }
@ -540,7 +540,7 @@ public class InBandBytestreamSession implements BytestreamSession {
@Override @Override
protected StanzaFilter getDataPacketFilter() { protected StanzaFilter getDataPacketFilter() {
/* /*
* filter all message stanzas containing a data packet extension, matching session ID * filter all message stanzas containing a data stanza(/packet) extension, matching session ID
* and recipient * and recipient
*/ */
return new AndFilter(new StanzaTypeFilter(Message.class), new IBBDataPacketFilter()); return new AndFilter(new StanzaTypeFilter(Message.class), new IBBDataPacketFilter());
@ -550,7 +550,7 @@ public class InBandBytestreamSession implements BytestreamSession {
/** /**
* IBBDataPacketFilter class filters all packets from the remote peer of this session, * IBBDataPacketFilter class filters all packets from the remote peer of this session,
* containing an In-Band Bytestream data packet extension whose session ID matches this sessions * containing an In-Band Bytestream data stanza(/packet) extension whose session ID matches this sessions
* ID. * ID.
*/ */
private class IBBDataPacketFilter implements StanzaFilter { private class IBBDataPacketFilter implements StanzaFilter {
@ -610,7 +610,7 @@ public class InBandBytestreamSession implements BytestreamSession {
} }
/** /**
* Writes the given data packet to the XMPP stream. * Writes the given data stanza(/packet) to the XMPP stream.
* *
* @param data the data packet * @param data the data packet
* @throws IOException if an I/O error occurred while sending or if the stream is closed * @throws IOException if an I/O error occurred while sending or if the stream is closed

View file

@ -32,7 +32,7 @@ public class Data extends IQ {
/** /**
* Constructor. * Constructor.
* *
* @param data data packet extension containing the encoded data * @param data data stanza(/packet) extension containing the encoded data
*/ */
public Data(DataPacketExtension data) { public Data(DataPacketExtension data) {
super(DataPacketExtension.ELEMENT, DataPacketExtension.NAMESPACE); super(DataPacketExtension.ELEMENT, DataPacketExtension.NAMESPACE);
@ -45,9 +45,9 @@ public class Data extends IQ {
} }
/** /**
* Returns the data packet extension. * Returns the data stanza(/packet) extension.
* *
* @return the data packet extension * @return the data stanza(/packet) extension
*/ */
public DataPacketExtension getDataPacketExtension() { public DataPacketExtension getDataPacketExtension() {
return this.dataPacketExtension; return this.dataPacketExtension;

View file

@ -30,7 +30,7 @@ import org.jivesoftware.smack.util.stringencoder.Base64;
public class DataPacketExtension implements ExtensionElement { public class DataPacketExtension implements ExtensionElement {
/** /**
* The element name of the data packet extension. * The element name of the data stanza(/packet) extension.
*/ */
public final static String ELEMENT = "data"; public final static String ELEMENT = "data";
@ -54,7 +54,7 @@ public class DataPacketExtension implements ExtensionElement {
* Creates a new In-Band Bytestream data packet. * Creates a new In-Band Bytestream data packet.
* *
* @param sessionID unique session ID identifying this In-Band Bytestream * @param sessionID unique session ID identifying this In-Band Bytestream
* @param seq sequence of this packet in regard to the other data packets * @param seq sequence of this stanza(/packet) in regard to the other data packets
* @param data the base64 encoded data contained in this packet * @param data the base64 encoded data contained in this packet
*/ */
public DataPacketExtension(String sessionID, long seq, String data) { public DataPacketExtension(String sessionID, long seq, String data) {
@ -82,9 +82,9 @@ public class DataPacketExtension implements ExtensionElement {
} }
/** /**
* Returns the sequence of this packet in regard to the other data packets. * Returns the sequence of this stanza(/packet) in regard to the other data packets.
* *
* @return the sequence of this packet in regard to the other data packets. * @return the sequence of this stanza(/packet) in regard to the other data packets.
*/ */
public long getSeq() { public long getSeq() {
return seq; return seq;

View file

@ -24,7 +24,7 @@ import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
/** /**
* Parses an In-Band Bytestream data packet which can be a packet extension of * Parses an In-Band Bytestream data stanza(/packet) which can be a stanza(/packet) extension of
* either an IQ stanza or a message stanza. * either an IQ stanza or a message stanza.
* *
* @author Henning Staib * @author Henning Staib

View file

@ -268,7 +268,7 @@ public final class Socks5BytestreamManager implements BytestreamManager {
* to the initiator. * to the initiator.
* <p> * <p>
* This method should be used if you are awaiting a SOCKS5 Bytestream request as a reply to * This method should be used if you are awaiting a SOCKS5 Bytestream request as a reply to
* another packet (e.g. file transfer). * another stanza(/packet) (e.g. file transfer).
* *
* @param sessionID to be ignored * @param sessionID to be ignored
*/ */
@ -621,10 +621,10 @@ public final class Socks5BytestreamManager implements BytestreamManager {
} }
/** /**
* Returns a IQ packet to query a SOCKS5 proxy its network settings. * Returns a IQ stanza(/packet) to query a SOCKS5 proxy its network settings.
* *
* @param proxy the proxy to query * @param proxy the proxy to query
* @return IQ packet to query a SOCKS5 proxy its network settings * @return IQ stanza(/packet) to query a SOCKS5 proxy its network settings
*/ */
private static Bytestream createStreamHostRequest(Jid proxy) { private static Bytestream createStreamHostRequest(Jid proxy) {
Bytestream request = new Bytestream(); Bytestream request = new Bytestream();
@ -673,7 +673,7 @@ public final class Socks5BytestreamManager implements BytestreamManager {
} }
/** /**
* Returns a SOCKS5 Bytestream initialization request packet with the given session ID * Returns a SOCKS5 Bytestream initialization request stanza(/packet) with the given session ID
* containing the given stream hosts for the given target JID. * containing the given stream hosts for the given target JID.
* *
* @param sessionID the session ID for the SOCKS5 Bytestream * @param sessionID the session ID for the SOCKS5 Bytestream
@ -703,7 +703,7 @@ public final class Socks5BytestreamManager implements BytestreamManager {
* Specified in XEP-65 5.3.1 (Example 13) * Specified in XEP-65 5.3.1 (Example 13)
* </p> * </p>
* *
* @param packet Packet that should be answered with a not-acceptable error * @param packet Stanza(/Packet) that should be answered with a not-acceptable error
* @throws NotConnectedException * @throws NotConnectedException
* @throws InterruptedException * @throws InterruptedException
*/ */

View file

@ -101,7 +101,7 @@ class Socks5ClientForInitiator extends Socks5Client {
} }
/** /**
* Activates the SOCKS5 Bytestream by sending an XMPP SOCKS5 Bytestream activation packet to the * Activates the SOCKS5 Bytestream by sending an XMPP SOCKS5 Bytestream activation stanza(/packet) to the
* SOCKS5 proxy. * SOCKS5 proxy.
* @throws XMPPErrorException * @throws XMPPErrorException
* @throws NoResponseException * @throws NoResponseException

View file

@ -26,7 +26,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
import org.jxmpp.jid.Jid; import org.jxmpp.jid.Jid;
/** /**
* A packet representing part of a SOCKS5 Bytestream negotiation. * A stanza(/packet) representing part of a SOCKS5 Bytestream negotiation.
* *
* @author Alexander Wenckus * @author Alexander Wenckus
*/ */
@ -199,10 +199,10 @@ public class Bytestream extends IQ {
} }
/** /**
* Returns the activate element of the packet sent to the proxy host to verify the identity of * Returns the activate element of the stanza(/packet) sent to the proxy host to verify the identity of
* the initiator and match them to the appropriate stream. * the initiator and match them to the appropriate stream.
* *
* @return Returns the activate element of the packet sent to the proxy host to verify the * @return Returns the activate element of the stanza(/packet) sent to the proxy host to verify the
* identity of the initiator and match them to the appropriate stream. * identity of the initiator and match them to the appropriate stream.
*/ */
public Activate getToActivate() { public Activate getToActivate() {
@ -210,7 +210,7 @@ public class Bytestream extends IQ {
} }
/** /**
* Upon the response from the target of the used host the activate packet is sent to the SOCKS5 * Upon the response from the target of the used host the activate stanza(/packet) is sent to the SOCKS5
* proxy. The proxy will activate the stream or return an error after verifying the identity of * proxy. The proxy will activate the stream or return an error after verifying the identity of
* the initiator, using the activate packet. * the initiator, using the activate packet.
* *
@ -257,7 +257,7 @@ public class Bytestream extends IQ {
} }
/** /**
* Packet extension that represents a potential SOCKS5 proxy for the file transfer. Stream hosts * Stanza(/Packet) extension that represents a potential SOCKS5 proxy for the file transfer. Stream hosts
* are forwarded to the target of the file transfer who then chooses and connects to one. * are forwarded to the target of the file transfer who then chooses and connects to one.
* *
* @author Alexander Wenckus * @author Alexander Wenckus
@ -336,7 +336,7 @@ public class Bytestream extends IQ {
/** /**
* After selected a SOCKS5 stream host and successfully connecting, the target of the file * After selected a SOCKS5 stream host and successfully connecting, the target of the file
* transfer returns a byte stream packet with the stream host used extension. * transfer returns a byte stream stanza(/packet) with the stream host used extension.
* *
* @author Alexander Wenckus * @author Alexander Wenckus
*/ */
@ -378,7 +378,7 @@ public class Bytestream extends IQ {
} }
/** /**
* The packet sent by the stream initiator to the stream proxy to activate the connection. * The stanza(/packet) sent by the stream initiator to the stream proxy to activate the connection.
* *
* @author Alexander Wenckus * @author Alexander Wenckus
*/ */

View file

@ -352,7 +352,7 @@ public class EntityCapsManager extends Manager {
public void processPacket(Stanza packet) { public void processPacket(Stanza packet) {
if (!entityCapsEnabled) if (!entityCapsEnabled)
return; return;
CapsVersionAndHash capsVersionAndHash = getCapsVersion(); CapsVersionAndHash capsVersionAndHash = getCapsVersionAndHash();
CapsExtension caps = new CapsExtension(entityNode, capsVersionAndHash.version, capsVersionAndHash.hash); CapsExtension caps = new CapsExtension(entityNode, capsVersionAndHash.version, capsVersionAndHash.hash);
packet.addExtension(caps); packet.addExtension(caps);
} }
@ -413,7 +413,7 @@ public class EntityCapsManager extends Manager {
* *
* @return our own caps version * @return our own caps version
*/ */
public CapsVersionAndHash getCapsVersion() { public CapsVersionAndHash getCapsVersionAndHash() {
return currentCapsVersion; return currentCapsVersion;
} }
@ -425,7 +425,11 @@ public class EntityCapsManager extends Manager {
* @return the local NodeVer * @return the local NodeVer
*/ */
public String getLocalNodeVer() { public String getLocalNodeVer() {
return entityNode + '#' + getCapsVersion(); CapsVersionAndHash capsVersionAndHash = getCapsVersionAndHash();
if (capsVersionAndHash == null) {
return null;
}
return entityNode + '#' + capsVersionAndHash.version;
} }
/** /**
@ -467,13 +471,14 @@ public class EntityCapsManager extends Manager {
DiscoverInfo discoverInfo = new DiscoverInfo(); DiscoverInfo discoverInfo = new DiscoverInfo();
discoverInfo.setType(IQ.Type.result); discoverInfo.setType(IQ.Type.result);
discoverInfo.setNode(getLocalNodeVer());
if (connection != null)
discoverInfo.setFrom(connection.getUser());
sdm.addDiscoverInfoTo(discoverInfo); sdm.addDiscoverInfoTo(discoverInfo);
// getLocalNodeVer() will return a result only after currentCapsVersion is set. Therefore
// set it first and then call getLocalNodeVer()
currentCapsVersion = generateVerificationString(discoverInfo); currentCapsVersion = generateVerificationString(discoverInfo);
addDiscoverInfoByNode(entityNode + '#' + currentCapsVersion.version, discoverInfo); final String localNodeVer = getLocalNodeVer();
discoverInfo.setNode(localNodeVer);
addDiscoverInfoByNode(localNodeVer, discoverInfo);
if (lastLocalCapsVersions.size() > 10) { if (lastLocalCapsVersions.size() > 10) {
CapsVersionAndHash oldCapsVersion = lastLocalCapsVersions.poll(); CapsVersionAndHash oldCapsVersion = lastLocalCapsVersions.poll();
sdm.removeNodeInformationProvider(entityNode + '#' + oldCapsVersion.version); sdm.removeNodeInformationProvider(entityNode + '#' + oldCapsVersion.version);
@ -484,7 +489,7 @@ public class EntityCapsManager extends Manager {
JID_TO_NODEVER_CACHE.put(connection.getUser(), new NodeVerHash(entityNode, currentCapsVersion)); JID_TO_NODEVER_CACHE.put(connection.getUser(), new NodeVerHash(entityNode, currentCapsVersion));
final List<Identity> identities = new LinkedList<Identity>(ServiceDiscoveryManager.getInstanceFor(connection).getIdentities()); final List<Identity> identities = new LinkedList<Identity>(ServiceDiscoveryManager.getInstanceFor(connection).getIdentities());
sdm.setNodeInformationProvider(entityNode + '#' + currentCapsVersion, new AbstractNodeInformationProvider() { sdm.setNodeInformationProvider(localNodeVer, new AbstractNodeInformationProvider() {
List<String> features = sdm.getFeatures(); List<String> features = sdm.getFeatures();
List<ExtensionElement> packetExtensions = sdm.getExtendedInfoAsList(); List<ExtensionElement> packetExtensions = sdm.getExtendedInfoAsList();
@Override @Override
@ -553,7 +558,7 @@ public class EntityCapsManager extends Manager {
/** /**
* *
* @param info * @param info
* @return true if the packet extensions is ill-formed * @return true if the stanza(/packet) extensions is ill-formed
*/ */
protected static boolean verifyPacketExtensions(DiscoverInfo info) { protected static boolean verifyPacketExtensions(DiscoverInfo info) {
List<FormField> foundFormTypes = new LinkedList<FormField>(); List<FormField> foundFormTypes = new LinkedList<FormField>();

View file

@ -120,7 +120,7 @@ public class SimpleDirectoryPersistentCache implements EntityCapsPersistentCache
} }
/** /**
* Writes the DiscoverInfo packet to an file * Writes the DiscoverInfo stanza(/packet) to an file
* *
* @param file * @param file
* @param info * @param info
@ -136,7 +136,7 @@ public class SimpleDirectoryPersistentCache implements EntityCapsPersistentCache
} }
/** /**
* Tries to restore an DiscoverInfo packet from a file. * Tries to restore an DiscoverInfo stanza(/packet) from a file.
* *
* @param file * @param file
* @return the restored DiscoverInfo * @return the restored DiscoverInfo

View file

@ -38,7 +38,7 @@ import org.jivesoftware.smackx.disco.ServiceDiscoveryManager;
/** /**
* Handles chat state for all chats on a particular XMPPConnection. This class manages both the * Handles chat state for all chats on a particular XMPPConnection. This class manages both the
* packet extensions and the disco response necessary for compliance with * stanza(/packet) extensions and the disco response necessary for compliance with
* <a href="http://www.xmpp.org/extensions/xep-0085.html">XEP-0085</a>. * <a href="http://www.xmpp.org/extensions/xep-0085.html">XEP-0085</a>.
* *
* NOTE: {@link org.jivesoftware.smackx.chatstates.ChatStateManager#getInstance(org.jivesoftware.smack.XMPPConnection)} * NOTE: {@link org.jivesoftware.smackx.chatstates.ChatStateManager#getInstance(org.jivesoftware.smack.XMPPConnection)}
@ -96,7 +96,7 @@ public class ChatStateManager extends Manager {
/** /**
* Sets the current state of the provided chat. This method will send an empty bodied Message * Sets the current state of the provided chat. This method will send an empty bodied Message
* packet with the state attached as a {@link org.jivesoftware.smack.packet.ExtensionElement}, if * stanza(/packet) with the state attached as a {@link org.jivesoftware.smack.packet.ExtensionElement}, if
* and only if the new chat state is different than the last state. * and only if the new chat state is different than the last state.
* *
* @param newState the new state of the chat * @param newState the new state of the chat

View file

@ -297,7 +297,7 @@ public class AdHocCommandManager extends Manager {
} }
/** /**
* Process the AdHoc-Command packet that request the execution of some * Process the AdHoc-Command stanza(/packet) that request the execution of some
* action of a command. If this is the first request, this method checks, * action of a command. If this is the first request, this method checks,
* before executing the command, if: * before executing the command, if:
* <ul> * <ul>
@ -318,7 +318,7 @@ public class AdHocCommandManager extends Manager {
* </ul> * </ul>
* *
* @param requestData * @param requestData
* the packet to process. * the stanza(/packet) to process.
* @throws NotConnectedException * @throws NotConnectedException
* @throws NoResponseException * @throws NoResponseException
* @throws InterruptedException * @throws InterruptedException

View file

@ -25,8 +25,8 @@ import org.jxmpp.util.XmppDateTime;
/** /**
* Represents timestamp information about data stored for later delivery. A DelayInformation will * Represents timestamp information about data stored for later delivery. A DelayInformation will
* always includes the timestamp when the packet was originally sent and may include more * always includes the timestamp when the stanza(/packet) was originally sent and may include more
* information such as the JID of the entity that originally sent the packet as well as the reason * information such as the JID of the entity that originally sent the stanza(/packet) as well as the reason
* for the delay.<p> * for the delay.<p>
* *
* For more information see <a href="http://xmpp.org/extensions/xep-0091.html">XEP-0091</a> * For more information see <a href="http://xmpp.org/extensions/xep-0091.html">XEP-0091</a>
@ -58,10 +58,10 @@ public class DelayInformation implements ExtensionElement {
} }
/** /**
* Returns the JID of the entity that originally sent the packet or that delayed the * Returns the JID of the entity that originally sent the stanza(/packet) or that delayed the
* delivery of the packet or <tt>null</tt> if this information is not available. * delivery of the stanza(/packet) or <tt>null</tt> if this information is not available.
* *
* @return the JID of the entity that originally sent the packet or that delayed the * @return the JID of the entity that originally sent the stanza(/packet) or that delayed the
* delivery of the packet. * delivery of the packet.
*/ */
public String getFrom() { public String getFrom() {
@ -69,10 +69,10 @@ public class DelayInformation implements ExtensionElement {
} }
/** /**
* Returns the timestamp when the packet was originally sent. The returned Date is * Returns the timestamp when the stanza(/packet) was originally sent. The returned Date is
* be understood as UTC. * be understood as UTC.
* *
* @return the timestamp when the packet was originally sent. * @return the timestamp when the stanza(/packet) was originally sent.
*/ */
public Date getStamp() { public Date getStamp() {
return stamp; return stamp;

View file

@ -64,9 +64,9 @@ public interface NodeInformationProvider {
List<DiscoverInfo.Identity> getNodeIdentities(); List<DiscoverInfo.Identity> getNodeIdentities();
/** /**
* Returns a list of the packet extensions defined in the node. * Returns a list of the stanza(/packet) extensions defined in the node.
* *
* @return a list of the packet extensions defined in the node. * @return a list of the stanza(/packet) extensions defined in the node.
*/ */
List<ExtensionElement> getNodePacketExtensions(); List<ExtensionElement> getNodePacketExtensions();
} }

View file

@ -29,6 +29,7 @@ import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Stanza; import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smack.packet.ExtensionElement; import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.XMPPError; import org.jivesoftware.smack.packet.XMPPError;
import org.jivesoftware.smack.util.Objects;
import org.jivesoftware.smackx.caps.EntityCapsManager; import org.jivesoftware.smackx.caps.EntityCapsManager;
import org.jivesoftware.smackx.disco.packet.DiscoverInfo; import org.jivesoftware.smackx.disco.packet.DiscoverInfo;
import org.jivesoftware.smackx.disco.packet.DiscoverItems; import org.jivesoftware.smackx.disco.packet.DiscoverItems;
@ -202,9 +203,10 @@ public class ServiceDiscoveryManager extends Manager {
* *
* @param identity * @param identity
*/ */
public void setIdentity(Identity identity) { public synchronized void setIdentity(Identity identity) {
if (identity == null) throw new IllegalArgumentException("Identity can not be null"); this.identity = Objects.requireNonNull(identity, "Identity can not be null");
this.identity = identity; // Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion(); renewEntityCapsVersion();
} }
@ -234,8 +236,10 @@ public class ServiceDiscoveryManager extends Manager {
* *
* @param identity * @param identity
*/ */
public void addIdentity(DiscoverInfo.Identity identity) { public synchronized void addIdentity(DiscoverInfo.Identity identity) {
identities.add(identity); identities.add(identity);
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion(); renewEntityCapsVersion();
} }
@ -246,9 +250,11 @@ public class ServiceDiscoveryManager extends Manager {
* @param identity * @param identity
* @return true, if successful. Otherwise the default identity was given. * @return true, if successful. Otherwise the default identity was given.
*/ */
public boolean removeIdentity(DiscoverInfo.Identity identity) { public synchronized boolean removeIdentity(DiscoverInfo.Identity identity) {
if (identity.equals(this.identity)) return false; if (identity.equals(this.identity)) return false;
identities.remove(identity); identities.remove(identity);
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion(); renewEntityCapsVersion();
return true; return true;
} }
@ -288,18 +294,16 @@ public class ServiceDiscoveryManager extends Manager {
* *
* @param response the discover info response packet * @param response the discover info response packet
*/ */
public void addDiscoverInfoTo(DiscoverInfo response) { public synchronized void addDiscoverInfoTo(DiscoverInfo response) {
// First add the identities of the connection // First add the identities of the connection
response.addIdentities(getIdentities()); response.addIdentities(getIdentities());
// Add the registered features to the response // Add the registered features to the response
synchronized (features) {
for (String feature : getFeatures()) { for (String feature : getFeatures()) {
response.addFeature(feature); response.addFeature(feature);
} }
response.addExtension(extendedInfo); response.addExtension(extendedInfo);
} }
}
/** /**
* Returns the NodeInformationProvider responsible for providing information * Returns the NodeInformationProvider responsible for providing information
@ -358,46 +362,42 @@ public class ServiceDiscoveryManager extends Manager {
* *
* @return a List of the supported features by this XMPP entity. * @return a List of the supported features by this XMPP entity.
*/ */
public List<String> getFeatures() { public synchronized List<String> getFeatures() {
synchronized (features) {
return new ArrayList<String>(features); return new ArrayList<String>(features);
} }
}
/** /**
* Registers that a new feature is supported by this XMPP entity. When this client is * Registers that a new feature is supported by this XMPP entity. When this client is
* queried for its information the registered features will be answered.<p> * queried for its information the registered features will be answered.<p>
* *
* Since no packet is actually sent to the server it is safe to perform this operation * Since no stanza(/packet) is actually sent to the server it is safe to perform this operation
* before logging to the server. In fact, you may want to configure the supported features * before logging to the server. In fact, you may want to configure the supported features
* before logging to the server so that the information is already available if it is required * before logging to the server so that the information is already available if it is required
* upon login. * upon login.
* *
* @param feature the feature to register as supported. * @param feature the feature to register as supported.
*/ */
public void addFeature(String feature) { public synchronized void addFeature(String feature) {
synchronized (features) {
if (!features.contains(feature)) {
features.add(feature); features.add(feature);
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion(); renewEntityCapsVersion();
} }
}
}
/** /**
* Removes the specified feature from the supported features by this XMPP entity.<p> * Removes the specified feature from the supported features by this XMPP entity.<p>
* *
* Since no packet is actually sent to the server it is safe to perform this operation * Since no stanza(/packet) is actually sent to the server it is safe to perform this operation
* before logging to the server. * before logging to the server.
* *
* @param feature the feature to remove from the supported features. * @param feature the feature to remove from the supported features.
*/ */
public void removeFeature(String feature) { public synchronized void removeFeature(String feature) {
synchronized (features) {
features.remove(feature); features.remove(feature);
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion(); renewEntityCapsVersion();
} }
}
/** /**
* Returns true if the specified feature is registered in the ServiceDiscoveryManager. * Returns true if the specified feature is registered in the ServiceDiscoveryManager.
@ -405,11 +405,9 @@ public class ServiceDiscoveryManager extends Manager {
* @param feature the feature to look for. * @param feature the feature to look for.
* @return a boolean indicating if the specified featured is registered or not. * @return a boolean indicating if the specified featured is registered or not.
*/ */
public boolean includesFeature(String feature) { public synchronized boolean includesFeature(String feature) {
synchronized (features) {
return features.contains(feature); return features.contains(feature);
} }
}
/** /**
* Registers extended discovery information of this XMPP entity. When this * Registers extended discovery information of this XMPP entity. When this
@ -417,7 +415,7 @@ public class ServiceDiscoveryManager extends Manager {
* specified by XEP-0128. * specified by XEP-0128.
* <p> * <p>
* *
* Since no packet is actually sent to the server it is safe to perform this * Since no stanza(/packet) is actually sent to the server it is safe to perform this
* operation before logging to the server. In fact, you may want to * operation before logging to the server. In fact, you may want to
* configure the extended info before logging to the server so that the * configure the extended info before logging to the server so that the
* information is already available if it is required upon login. * information is already available if it is required upon login.
@ -426,8 +424,10 @@ public class ServiceDiscoveryManager extends Manager {
* the data form that contains the extend service discovery * the data form that contains the extend service discovery
* information. * information.
*/ */
public void setExtendedInfo(DataForm info) { public synchronized void setExtendedInfo(DataForm info) {
extendedInfo = info; extendedInfo = info;
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion(); renewEntityCapsVersion();
} }
@ -460,11 +460,13 @@ public class ServiceDiscoveryManager extends Manager {
* Removes the data form containing extended service discovery information * Removes the data form containing extended service discovery information
* from the information returned by this XMPP entity.<p> * from the information returned by this XMPP entity.<p>
* *
* Since no packet is actually sent to the server it is safe to perform this * Since no stanza(/packet) is actually sent to the server it is safe to perform this
* operation before logging to the server. * operation before logging to the server.
*/ */
public void removeExtendedInfo() { public synchronized void removeExtendedInfo() {
extendedInfo = null; extendedInfo = null;
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion(); renewEntityCapsVersion();
} }
@ -599,7 +601,7 @@ public class ServiceDiscoveryManager extends Manager {
* be returned by the server whenever the server receives a disco request targeted to the bare * be returned by the server whenever the server receives a disco request targeted to the bare
* address of the client (i.e. user@host.com). * address of the client (i.e. user@host.com).
* *
* @param info the discover info packet to check. * @param info the discover info stanza(/packet) to check.
* @return true if the server supports publishing of items. * @return true if the server supports publishing of items.
*/ */
public static boolean canPublishItems(DiscoverInfo info) { public static boolean canPublishItems(DiscoverInfo info) {

View file

@ -273,7 +273,7 @@ public class FileTransferNegotiator extends Manager {
* the option of, accepting, rejecting, or not responding to a received file * the option of, accepting, rejecting, or not responding to a received file
* transfer request. * transfer request.
* <p/> * <p/>
* If they accept, the packet will contain the other user's chosen stream * If they accept, the stanza(/packet) will contain the other user's chosen stream
* type to send the file across. The two choices this implementation * type to send the file across. The two choices this implementation
* provides to the other user for file transfer are <a * provides to the other user for file transfer are <a
* href="http://www.xmpp.org/extensions/jep-0065.html">SOCKS5 Bytestreams</a>, * href="http://www.xmpp.org/extensions/jep-0065.html">SOCKS5 Bytestreams</a>,

View file

@ -104,11 +104,11 @@ public class FileTransferRequest {
} }
/** /**
* Returns the stream initiation packet that was sent by the requestor which * Returns the stream initiation stanza(/packet) that was sent by the requestor which
* contains the parameters of the file transfer being transfer and also the * contains the parameters of the file transfer being transfer and also the
* methods available to transfer the file. * methods available to transfer the file.
* *
* @return Returns the stream initiation packet that was sent by the * @return Returns the stream initiation stanza(/packet) that was sent by the
* requestor which contains the parameters of the file transfer * requestor which contains the parameters of the file transfer
* being transfer and also the methods available to transfer the * being transfer and also the methods available to transfer the
* file. * file.

View file

@ -58,7 +58,7 @@ public abstract class StreamNegotiator {
protected static final EventManger<String, IQ, SmackException.NotConnectedException> initationSetEvents = new EventManger<>(); protected static final EventManger<String, IQ, SmackException.NotConnectedException> initationSetEvents = new EventManger<>();
/** /**
* Creates the initiation acceptance packet to forward to the stream * Creates the initiation acceptance stanza(/packet) to forward to the stream
* initiator. * initiator.
* *
* @param streamInitiationOffer The offer from the stream initiator to connect for a stream. * @param streamInitiationOffer The offer from the stream initiator to connect for a stream.

View file

@ -22,7 +22,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
import org.jivesoftware.smackx.delay.packet.DelayInformation; import org.jivesoftware.smackx.delay.packet.DelayInformation;
/** /**
* Packet extension for >XEP-0297: Stanza Forwarding. * Stanza(/Packet) extension for >XEP-0297: Stanza Forwarding.
* *
* @author Georg Lukas * @author Georg Lukas
* @see <a href="http://xmpp.org/extensions/xep-0297.html">XEP-0297: Stanza Forwarding</a> * @see <a href="http://xmpp.org/extensions/xep-0297.html">XEP-0297: Stanza Forwarding</a>
@ -35,10 +35,10 @@ public class Forwarded implements ExtensionElement {
private final Stanza forwardedPacket; private final Stanza forwardedPacket;
/** /**
* Creates a new Forwarded packet extension. * Creates a new Forwarded stanza(/packet) extension.
* *
* @param delay an optional {@link DelayInformation} timestamp of the packet. * @param delay an optional {@link DelayInformation} timestamp of the packet.
* @param fwdPacket the packet that is forwarded (required). * @param fwdPacket the stanza(/packet) that is forwarded (required).
*/ */
public Forwarded(DelayInformation delay, Stanza fwdPacket) { public Forwarded(DelayInformation delay, Stanza fwdPacket) {
this.delay = delay; this.delay = delay;
@ -46,9 +46,9 @@ public class Forwarded implements ExtensionElement {
} }
/** /**
* Creates a new Forwarded packet extension. * Creates a new Forwarded stanza(/packet) extension.
* *
* @param fwdPacket the packet that is forwarded (required). * @param fwdPacket the stanza(/packet) that is forwarded (required).
*/ */
public Forwarded(Stanza fwdPacket) { public Forwarded(Stanza fwdPacket) {
this(null, fwdPacket); this(null, fwdPacket);
@ -75,7 +75,7 @@ public class Forwarded implements ExtensionElement {
} }
/** /**
* get the packet forwarded by this stanza. * get the stanza(/packet) forwarded by this stanza.
* *
* @return the {@link Stanza} instance (typically a message) that was forwarded. * @return the {@link Stanza} instance (typically a message) that was forwarded.
*/ */
@ -86,7 +86,7 @@ public class Forwarded implements ExtensionElement {
/** /**
* get the timestamp of the forwarded packet. * get the timestamp of the forwarded packet.
* *
* @return the {@link DelayInformation} representing the time when the original packet was sent. May be null. * @return the {@link DelayInformation} representing the time when the original stanza(/packet) was sent. May be null.
*/ */
public DelayInformation getDelayInformation() { public DelayInformation getDelayInformation() {
return delay; return delay;

View file

@ -30,7 +30,7 @@ import org.xmlpull.v1.XmlPullParser;
/** /**
* This class implements the {@link ExtensionElementProvider} to parse * This class implements the {@link ExtensionElementProvider} to parse
* forwarded messages from a packet. It will return a {@link Forwarded} packet extension. * forwarded messages from a packet. It will return a {@link Forwarded} stanza(/packet) extension.
* *
* @author Georg Lukas * @author Georg Lukas
*/ */

View file

@ -60,7 +60,7 @@ import org.jxmpp.jid.Jid;
* <p/> * <p/>
* *
* For example to get the idle time of a user logged in a resource, simple send * For example to get the idle time of a user logged in a resource, simple send
* the LastActivity packet to them, as in the following code: * the LastActivity stanza(/packet) to them, as in the following code:
* <p> * <p>
* *
* <pre> * <pre>
@ -76,7 +76,7 @@ import org.jxmpp.jid.Jid;
* LastActivity activity = LastActivity.getLastActivity(con, &quot;xray@jabber.org&quot;); * LastActivity activity = LastActivity.getLastActivity(con, &quot;xray@jabber.org&quot;);
* </pre> * </pre>
* *
* To get the uptime of a host, you simple send the LastActivity packet to it, * To get the uptime of a host, you simple send the LastActivity stanza(/packet) to it,
* as in the following code example: * as in the following code example:
* <p> * <p>
* *
@ -228,7 +228,7 @@ public class LastActivityManager extends Manager {
* *
* @param jid * @param jid
* the JID of the user. * the JID of the user.
* @return the LastActivity packet of the jid. * @return the LastActivity stanza(/packet) of the jid.
* @throws XMPPErrorException * @throws XMPPErrorException
* thrown if a server error has occured. * thrown if a server error has occured.
* @throws NoResponseException if there was no response from the server. * @throws NoResponseException if there was no response from the server.

View file

@ -78,7 +78,7 @@ public class PrivateDataManager extends Manager {
/** /**
* Returns the private data provider registered to the specified XML element name and namespace. * Returns the private data provider registered to the specified XML element name and namespace.
* For example, if a provider was registered to the element name "prefs" and the * For example, if a provider was registered to the element name "prefs" and the
* namespace "http://www.xmppclient.com/prefs", then the following packet would trigger * namespace "http://www.xmppclient.com/prefs", then the following stanza(/packet) would trigger
* the provider: * the provider:
* *
* <pre> * <pre>

View file

@ -64,7 +64,7 @@ public class DefaultPrivateData implements PrivateData {
/** /**
* Returns the XML element name of the private data sub-packet root element. * Returns the XML element name of the private data sub-packet root element.
* *
* @return the XML element name of the packet extension. * @return the XML element name of the stanza(/packet) extension.
*/ */
public String getElementName() { public String getElementName() {
return elementName; return elementName;
@ -73,7 +73,7 @@ public class DefaultPrivateData implements PrivateData {
/** /**
* Returns the XML namespace of the private data sub-packet root element. * Returns the XML namespace of the private data sub-packet root element.
* *
* @return the XML namespace of the packet extension. * @return the XML namespace of the stanza(/packet) extension.
*/ */
public String getNamespace() { public String getNamespace() {
return namespace; return namespace;

View file

@ -96,7 +96,7 @@ public class AccountManager extends Manager {
/** /**
* Flag that indicates whether the server supports In-Band Registration. * Flag that indicates whether the server supports In-Band Registration.
* In-Band Registration may be advertised as a stream feature. If no stream feature * In-Band Registration may be advertised as a stream feature. If no stream feature
* was advertised from the server then try sending an IQ packet to discover if In-Band * was advertised from the server then try sending an IQ stanza(/packet) to discover if In-Band
* Registration is available. * Registration is available.
*/ */
private boolean accountCreationSupported = false; private boolean accountCreationSupported = false;
@ -113,7 +113,7 @@ public class AccountManager extends Manager {
/** /**
* Sets whether the server supports In-Band Registration. In-Band Registration may be * Sets whether the server supports In-Band Registration. In-Band Registration may be
* advertised as a stream feature. If no stream feature was advertised from the server * advertised as a stream feature. If no stream feature was advertised from the server
* then try sending an IQ packet to discover if In-Band Registration is available. * then try sending an IQ stanza(/packet) to discover if In-Band Registration is available.
* *
* @param accountCreationSupported true if the server supports In-Band Registration. * @param accountCreationSupported true if the server supports In-Band Registration.
*/ */

View file

@ -28,7 +28,7 @@ public class JivePropertiesManager {
private static boolean javaObjectEnabled = false; private static boolean javaObjectEnabled = false;
/** /**
* Enables deserialization of Java objects embedded in the 'properties' packet extension. Since * Enables deserialization of Java objects embedded in the 'properties' stanza(/packet) extension. Since
* this is a security sensitive feature, it is disabled per default in Smack. Only enable it if * this is a security sensitive feature, it is disabled per default in Smack. Only enable it if
* you are sure that you understand the potential security implications it can cause. * you are sure that you understand the potential security implications it can cause.
* <p> * <p>
@ -49,7 +49,7 @@ public class JivePropertiesManager {
/** /**
* Convenience method to add a property to a packet. * Convenience method to add a property to a packet.
* *
* @param packet the packet to add the property to. * @param packet the stanza(/packet) to add the property to.
* @param name the name of the property to add. * @param name the name of the property to add.
* @param value the value of the property to add. * @param value the value of the property to add.
*/ */
@ -63,7 +63,7 @@ public class JivePropertiesManager {
} }
/** /**
* Convenience method to get a property from a packet. Will return null if the packet contains * Convenience method to get a property from a packet. Will return null if the stanza(/packet) contains
* not property with the given name. * not property with the given name.
* *
* @param packet * @param packet
@ -95,7 +95,7 @@ public class JivePropertiesManager {
} }
/** /**
* Return a map of all properties of the given packet. If the packet contains no properties * Return a map of all properties of the given packet. If the stanza(/packet) contains no properties
* extension, an empty map will be returned. * extension, an empty map will be returned.
* *
* @param packet * @param packet

View file

@ -40,7 +40,7 @@ import org.jivesoftware.smack.util.stringencoder.Base64;
*/ */
public class JivePropertiesExtension implements ExtensionElement { public class JivePropertiesExtension implements ExtensionElement {
/** /**
* Namespace used to store packet properties. * Namespace used to store stanza(/packet) properties.
*/ */
public static final String NAMESPACE = "http://www.jivesoftware.com/xmlns/xmpp/properties"; public static final String NAMESPACE = "http://www.jivesoftware.com/xmlns/xmpp/properties";
@ -59,7 +59,7 @@ public class JivePropertiesExtension implements ExtensionElement {
} }
/** /**
* Returns the packet property with the specified name or <tt>null</tt> if the * Returns the stanza(/packet) property with the specified name or <tt>null</tt> if the
* property doesn't exist. Property values that were originally primitives will * property doesn't exist. Property values that were originally primitives will
* be returned as their object equivalent. For example, an int property will be * be returned as their object equivalent. For example, an int property will be
* returned as an Integer, a double as a Double, etc. * returned as an Integer, a double as a Double, etc.

View file

@ -39,7 +39,7 @@ public class JivePropertiesExtensionProvider extends ExtensionElementProvider<Ji
* Parse a properties sub-packet. If any errors occur while de-serializing Java object * Parse a properties sub-packet. If any errors occur while de-serializing Java object
* properties, an exception will be printed and not thrown since a thrown exception will shut * properties, an exception will be printed and not thrown since a thrown exception will shut
* down the entire connection. ClassCastExceptions will occur when both the sender and receiver * down the entire connection. ClassCastExceptions will occur when both the sender and receiver
* of the packet don't have identical versions of the same class. * of the stanza(/packet) don't have identical versions of the same class.
* <p> * <p>
* Note that you have to explicitly enabled Java object deserialization with @{link * Note that you have to explicitly enabled Java object deserialization with @{link
* {@link JivePropertiesManager#setJavaObjectEnabled(boolean)} * {@link JivePropertiesManager#setJavaObjectEnabled(boolean)}

View file

@ -781,10 +781,10 @@ public class MultiUserChat {
/** /**
* Adds a new {@link StanzaListener} that will be invoked every time a new presence * Adds a new {@link StanzaListener} that will be invoked every time a new presence
* is going to be sent by this MultiUserChat to the server. Packet interceptors may * is going to be sent by this MultiUserChat to the server. Stanza(/Packet) interceptors may
* add new extensions to the presence that is going to be sent to the MUC service. * add new extensions to the presence that is going to be sent to the MUC service.
* *
* @param presenceInterceptor the new packet interceptor that will intercept presence packets. * @param presenceInterceptor the new stanza(/packet) interceptor that will intercept presence packets.
*/ */
public void addPresenceInterceptor(PresenceListener presenceInterceptor) { public void addPresenceInterceptor(PresenceListener presenceInterceptor) {
presenceInterceptors.add(presenceInterceptor); presenceInterceptors.add(presenceInterceptor);
@ -792,10 +792,10 @@ public class MultiUserChat {
/** /**
* Removes a {@link StanzaListener} that was being invoked every time a new presence * Removes a {@link StanzaListener} that was being invoked every time a new presence
* was being sent by this MultiUserChat to the server. Packet interceptors may * was being sent by this MultiUserChat to the server. Stanza(/Packet) interceptors may
* add new extensions to the presence that is going to be sent to the MUC service. * add new extensions to the presence that is going to be sent to the MUC service.
* *
* @param presenceInterceptor the packet interceptor to remove. * @param presenceInterceptor the stanza(/packet) interceptor to remove.
*/ */
public void removePresenceInterceptor(StanzaListener presenceInterceptor) { public void removePresenceInterceptor(StanzaListener presenceInterceptor) {
presenceInterceptors.remove(presenceInterceptor); presenceInterceptors.remove(presenceInterceptor);
@ -1470,11 +1470,11 @@ public class MultiUserChat {
} }
/** /**
* Adds a packet listener that will be notified of any new Presence packets * Adds a stanza(/packet) listener that will be notified of any new Presence packets
* sent to the group chat. Using a listener is a suitable way to know when the list * sent to the group chat. Using a listener is a suitable way to know when the list
* of occupants should be re-loaded due to any changes. * of occupants should be re-loaded due to any changes.
* *
* @param listener a packet listener that will be notified of any presence packets * @param listener a stanza(/packet) listener that will be notified of any presence packets
* sent to the group chat. * sent to the group chat.
* @return true if the listener was not already added. * @return true if the listener was not already added.
*/ */
@ -1483,10 +1483,10 @@ public class MultiUserChat {
} }
/** /**
* Removes a packet listener that was being notified of any new Presence packets * Removes a stanza(/packet) listener that was being notified of any new Presence packets
* sent to the group chat. * sent to the group chat.
* *
* @param listener a packet listener that was being notified of any presence packets * @param listener a stanza(/packet) listener that was being notified of any presence packets
* sent to the group chat. * sent to the group chat.
* @return true if the listener was removed, otherwise the listener was not added previously. * @return true if the listener was removed, otherwise the listener was not added previously.
*/ */
@ -1715,7 +1715,7 @@ public class MultiUserChat {
/** /**
* Returns the next available message in the chat. The method call will block * Returns the next available message in the chat. The method call will block
* (not return) until a packet is available or the <tt>timeout</tt> has elapased. * (not return) until a stanza(/packet) is available or the <tt>timeout</tt> has elapased.
* If the timeout elapses without a result, <tt>null</tt> will be returned. * If the timeout elapses without a result, <tt>null</tt> will be returned.
* *
* @param timeout the maximum amount of time to wait for the next message. * @param timeout the maximum amount of time to wait for the next message.
@ -1732,14 +1732,14 @@ public class MultiUserChat {
} }
/** /**
* Adds a packet listener that will be notified of any new messages in the * Adds a stanza(/packet) listener that will be notified of any new messages in the
* group chat. Only "group chat" messages addressed to this group chat will * group chat. Only "group chat" messages addressed to this group chat will
* be delivered to the listener. If you wish to listen for other packets * be delivered to the listener. If you wish to listen for other packets
* that may be associated with this group chat, you should register a * that may be associated with this group chat, you should register a
* PacketListener directly with the XMPPConnection with the appropriate * PacketListener directly with the XMPPConnection with the appropriate
* PacketListener. * PacketListener.
* *
* @param listener a packet listener. * @param listener a stanza(/packet) listener.
* @return true if the listener was not already added. * @return true if the listener was not already added.
*/ */
public boolean addMessageListener(MessageListener listener) { public boolean addMessageListener(MessageListener listener) {
@ -1747,11 +1747,11 @@ public class MultiUserChat {
} }
/** /**
* Removes a packet listener that was being notified of any new messages in the * Removes a stanza(/packet) listener that was being notified of any new messages in the
* multi user chat. Only "group chat" messages addressed to this multi user chat were * multi user chat. Only "group chat" messages addressed to this multi user chat were
* being delivered to the listener. * being delivered to the listener.
* *
* @param listener a packet listener. * @param listener a stanza(/packet) listener.
* @return true if the listener was removed, otherwise the listener was not added previously. * @return true if the listener was removed, otherwise the listener was not added previously.
*/ */
public boolean removeMessageListener(MessageListener listener) { public boolean removeMessageListener(MessageListener listener) {

View file

@ -74,7 +74,7 @@ public class RoomInfo {
*/ */
private final boolean moderated; private final boolean moderated;
/** /**
* Every presence packet can include the JID of every occupant unless the owner deactives this * Every presence stanza(/packet) can include the JID of every occupant unless the owner deactives this
* configuration. * configuration.
*/ */
private final boolean nonanonymous; private final boolean nonanonymous;

View file

@ -27,7 +27,7 @@ import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
/** /**
* A group chat invitation packet extension, which is used to invite other * A group chat invitation stanza(/packet) extension, which is used to invite other
* users to a group chat room. To invite a user to a group chat room, address * users to a group chat room. To invite a user to a group chat room, address
* a new message to the user and set the room name appropriately, as in the * a new message to the user and set the room name appropriately, as in the
* following code example: * following code example:
@ -45,7 +45,7 @@ import org.xmlpull.v1.XmlPullParserException;
* *
* <pre> * <pre>
* PacketFilter filter = new StanzaExtensionFilter("x", "jabber:x:conference"); * PacketFilter filter = new StanzaExtensionFilter("x", "jabber:x:conference");
* // Create a packet collector or packet listeners using the filter... * // Create a stanza(/packet) collector or stanza(/packet) listeners using the filter...
* </pre> * </pre>
* *
* <b>Note</b>: this protocol is outdated now that the Multi-User Chat (MUC) XEP is available * <b>Note</b>: this protocol is outdated now that the Multi-User Chat (MUC) XEP is available
@ -58,12 +58,12 @@ import org.xmlpull.v1.XmlPullParserException;
public class GroupChatInvitation implements ExtensionElement { public class GroupChatInvitation implements ExtensionElement {
/** /**
* Element name of the packet extension. * Element name of the stanza(/packet) extension.
*/ */
public static final String ELEMENT = "x"; public static final String ELEMENT = "x";
/** /**
* Namespace of the packet extension. * Namespace of the stanza(/packet) extension.
*/ */
public static final String NAMESPACE = "jabber:x:conference"; public static final String NAMESPACE = "jabber:x:conference";

View file

@ -23,7 +23,7 @@ import java.util.List;
import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smack.packet.IQ;
/** /**
* IQ packet that serves for kicking users, granting and revoking voice, banning users, * IQ stanza(/packet) that serves for kicking users, granting and revoking voice, banning users,
* modifying the ban list, granting and revoking membership and granting and revoking * modifying the ban list, granting and revoking membership and granting and revoking
* moderator privileges. All these operations are scoped by the * moderator privileges. All these operations are scoped by the
* 'http://jabber.org/protocol/muc#admin' namespace. * 'http://jabber.org/protocol/muc#admin' namespace.

View file

@ -23,7 +23,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
/** /**
* IQ packet that serves for granting and revoking ownership privileges, granting * IQ stanza(/packet) that serves for granting and revoking ownership privileges, granting
* and revoking administrative privileges and destroying a room. All these operations * and revoking administrative privileges and destroying a room. All these operations
* are scoped by the 'http://jabber.org/protocol/muc#owner' namespace. * are scoped by the 'http://jabber.org/protocol/muc#owner' namespace.
* *

View file

@ -133,7 +133,7 @@ public class MUCUser implements ExtensionElement {
/** /**
* Returns the notification that the room has been destroyed. After a room has been destroyed, * Returns the notification that the room has been destroyed. After a room has been destroyed,
* the room occupants will receive a Presence packet of type 'unavailable' with the reason for * the room occupants will receive a Presence stanza(/packet) of type 'unavailable' with the reason for
* the room destruction if provided by the room owner. * the room destruction if provided by the room owner.
* *
* @return a notification that the room has been destroyed. * @return a notification that the room has been destroyed.
@ -203,7 +203,7 @@ public class MUCUser implements ExtensionElement {
/** /**
* Sets the notification that the room has been destroyed. After a room has been destroyed, * Sets the notification that the room has been destroyed. After a room has been destroyed,
* the room occupants will receive a Presence packet of type 'unavailable' with the reason for * the room occupants will receive a Presence stanza(/packet) of type 'unavailable' with the reason for
* the room destruction if provided by the room owner. * the room destruction if provided by the room owner.
* *
* @param destroy the notification that the room has been destroyed. * @param destroy the notification that the room has been destroyed.

View file

@ -34,7 +34,7 @@ import org.xmlpull.v1.XmlPullParserException;
public class MUCUserProvider extends ExtensionElementProvider<MUCUser> { public class MUCUserProvider extends ExtensionElementProvider<MUCUser> {
/** /**
* Parses a MUCUser packet (extension sub-packet). * Parses a MUCUser stanza(/packet) (extension sub-packet).
* *
* @param parser the XML parser, positioned at the starting element of the extension. * @param parser the XML parser, positioned at the starting element of the extension.
* @return a PacketExtension. * @return a PacketExtension.

View file

@ -40,7 +40,7 @@ public class OfflineMessageInfo implements ExtensionElement {
* Returns the XML element name of the extension sub-packet root element. * Returns the XML element name of the extension sub-packet root element.
* Always returns "offline" * Always returns "offline"
* *
* @return the XML element name of the packet extension. * @return the XML element name of the stanza(/packet) extension.
*/ */
public String getElementName() { public String getElementName() {
return "offline"; return "offline";
@ -50,7 +50,7 @@ public class OfflineMessageInfo implements ExtensionElement {
* Returns the XML namespace of the extension sub-packet root element. * Returns the XML namespace of the extension sub-packet root element.
* According the specification the namespace is always "http://jabber.org/protocol/offline" * According the specification the namespace is always "http://jabber.org/protocol/offline"
* *
* @return the XML namespace of the packet extension. * @return the XML namespace of the stanza(/packet) extension.
*/ */
public String getNamespace() { public String getNamespace() {
return "http://jabber.org/protocol/offline"; return "http://jabber.org/protocol/offline";
@ -91,7 +91,7 @@ public class OfflineMessageInfo implements ExtensionElement {
public static class Provider extends ExtensionElementProvider<OfflineMessageInfo> { public static class Provider extends ExtensionElementProvider<OfflineMessageInfo> {
/** /**
* Parses a OfflineMessageInfo packet (extension sub-packet). * Parses a OfflineMessageInfo stanza(/packet) (extension sub-packet).
* *
* @param parser the XML parser, positioned at the starting element of the extension. * @param parser the XML parser, positioned at the starting element of the extension.
* @return a PacketExtension. * @return a PacketExtension.

View file

@ -57,7 +57,7 @@ public class PEPEvent implements ExtensionElement {
* Returns the XML element name of the extension sub-packet root element. * Returns the XML element name of the extension sub-packet root element.
* Always returns "x" * Always returns "x"
* *
* @return the XML element name of the packet extension. * @return the XML element name of the stanza(/packet) extension.
*/ */
public String getElementName() { public String getElementName() {
return "event"; return "event";
@ -68,7 +68,7 @@ public class PEPEvent implements ExtensionElement {
* According the specification the namespace is always "jabber:x:roster" * According the specification the namespace is always "jabber:x:roster"
* (which is not to be confused with the 'jabber:iq:roster' namespace * (which is not to be confused with the 'jabber:iq:roster' namespace
* *
* @return the XML namespace of the packet extension. * @return the XML namespace of the stanza(/packet) extension.
*/ */
public String getNamespace() { public String getNamespace() {
return "http://jabber.org/protocol/pubsub"; return "http://jabber.org/protocol/pubsub";

View file

@ -46,7 +46,7 @@ public abstract class PEPItem implements ExtensionElement {
* Returns the XML element name of the extension sub-packet root element. * Returns the XML element name of the extension sub-packet root element.
* Always returns "x" * Always returns "x"
* *
* @return the XML element name of the packet extension. * @return the XML element name of the stanza(/packet) extension.
*/ */
public String getElementName() { public String getElementName() {
return "item"; return "item";
@ -55,7 +55,7 @@ public abstract class PEPItem implements ExtensionElement {
/** /**
* Returns the XML namespace of the extension sub-packet root element. * Returns the XML namespace of the extension sub-packet root element.
* *
* @return the XML namespace of the packet extension. * @return the XML namespace of the stanza(/packet) extension.
*/ */
public String getNamespace() { public String getNamespace() {
return "http://jabber.org/protocol/pubsub"; return "http://jabber.org/protocol/pubsub";

View file

@ -50,7 +50,7 @@ public class PEPProvider extends ExtensionElementProvider<ExtensionElement> {
} }
/** /**
* Parses a PEPEvent packet and extracts a PEPItem from it. * Parses a PEPEvent stanza(/packet) and extracts a PEPItem from it.
* (There is only one per <event>.) * (There is only one per <event>.)
* *
* @param parser the XML parser, positioned at the starting element of the extension. * @param parser the XML parser, positioned at the starting element of the extension.

View file

@ -215,10 +215,10 @@ public class PrivacyListManager extends Manager {
} }
/** /**
* Send the {@link Privacy} packet to the server in order to know some privacy content and then * Send the {@link Privacy} stanza(/packet) to the server in order to know some privacy content and then
* waits for the answer. * waits for the answer.
* *
* @param requestPrivacy is the {@link Privacy} packet configured properly whose XML * @param requestPrivacy is the {@link Privacy} stanza(/packet) configured properly whose XML
* will be sent to the server. * will be sent to the server.
* @return a new {@link Privacy} with the data received from the server. * @return a new {@link Privacy} with the data received from the server.
* @throws XMPPErrorException * @throws XMPPErrorException
@ -234,10 +234,10 @@ public class PrivacyListManager extends Manager {
} }
/** /**
* Send the {@link Privacy} packet to the server in order to modify the server privacy and waits * Send the {@link Privacy} stanza(/packet) to the server in order to modify the server privacy and waits
* for the answer. * for the answer.
* *
* @param requestPrivacy is the {@link Privacy} packet configured properly whose xml will be * @param requestPrivacy is the {@link Privacy} stanza(/packet) configured properly whose xml will be
* sent to the server. * sent to the server.
* @return a new {@link Privacy} with the data received from the server. * @return a new {@link Privacy} with the data received from the server.
* @throws XMPPErrorException * @throws XMPPErrorException

View file

@ -19,7 +19,7 @@ package org.jivesoftware.smackx.privacy.packet;
import org.jivesoftware.smack.util.NumberUtil; import org.jivesoftware.smack.util.NumberUtil;
/** /**
* A privacy item acts a rule that when matched defines if a packet should be blocked or not. * A privacy item acts a rule that when matched defines if a stanza(/packet) should be blocked or not.
* *
* Privacy Items can handle different kind of blocking communications based on JID, group, * Privacy Items can handle different kind of blocking communications based on JID, group,
* subscription type or globally by:<ul> * subscription type or globally by:<ul>

View file

@ -19,7 +19,7 @@ package org.jivesoftware.smackx.pubsub;
import org.jivesoftware.smackx.xdata.Form; import org.jivesoftware.smackx.xdata.Form;
/** /**
* Generic packet extension which represents any pubsub form that is * Generic stanza(/packet) extension which represents any pubsub form that is
* parsed from the incoming stream or being sent out to the server. * parsed from the incoming stream or being sent out to the server.
* *
* Form types are defined in {@link FormNodeType}. * Form types are defined in {@link FormNodeType}.

Some files were not shown because too many files have changed in this diff Show more