1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-24 23:32:05 +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
* 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
* 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
@ -473,7 +473,7 @@ public class XMPPBOSHConnection extends AbstractXMPPConnection {
/**
* Listens for XML traffic from the BOSH connection manager and parses it into
* packet objects.
* stanza(/packet) objects.
*
* @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.
*/
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 String id;

View file

@ -18,7 +18,7 @@
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 {

View file

@ -123,24 +123,24 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
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<>();
/**
* 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<>();
/**
* 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 =
new HashMap<StanzaListener, ListenerWrapper>();
/**
* List of PacketListeners that will be notified when a new packet is about to be
* sent to the server. These interceptors may modify the packet before it is being
* 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 stanza(/packet) before it is being
* actually sent to the server.
*/
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
* 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
* 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
* {@link SmackException.NoResponseException} will be thrown.
* <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
* again. A custom unavailable presence is useful for communicating offline 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
* presence packet with whatever data is set.
* stanza(/packet) is set with online information, but most XMPP servers will deliver the full
* 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
*/
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>
* Compared to {@link #firePacketInterceptors(Stanza)}, the listeners will be invoked in a new thread.
* </p>
*
* @param packet the packet to process.
* @param packet the stanza(/packet) to process.
*/
@SuppressWarnings("javadoc")
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.
* Since the thread that requested to send the packet will invoke all interceptors, it
* Process interceptors. Interceptors may modify the stanza(/packet) that is about to be sent.
* 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
* 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) {
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
* packet collectors and listeners and letting them examine the packet to see if
* Processes a stanza(/packet) after it's been fully parsed by looping through the installed
* stanza(/packet) collectors and listeners and letting them examine the stanza(/packet) to see if
* 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) {
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 {
@ -1007,9 +1007,9 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
/**
* 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) {
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 {
@ -1245,9 +1245,9 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
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.
*/
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 {
@ -1273,7 +1273,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
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 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
* 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
* {@link SmackConfiguration#getPacketCollectorSize()}.
*
@ -46,7 +46,7 @@ public class PacketCollector {
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;
@ -55,7 +55,7 @@ public class PacketCollector {
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.
*
* @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
* queued up. Once a packet collector has been cancelled, it cannot be
* re-enabled. Instead, a new packet collector must be created.
* Explicitly cancels the stanza(/packet) collector so that no more results are
* queued up. Once a stanza(/packet) collector has been cancelled, it cannot be
* re-enabled. Instead, a new stanza(/packet) collector must be created.
*/
public void cancel() {
// 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.
*
* @return the packet filter.
* @return the stanza(/packet) filter.
* @deprecated use {@link #getStanzaFilter()} instead.
*/
@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
* 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.
*/
@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
* result queue.
* <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.
*
* @return the next available packet.
@ -167,7 +167,7 @@ public class PacketCollector {
/**
* 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.
*
* @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,
* <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.
*
* @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.
* @throws NoResponseException if there was no response from the server.
* @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.
* @since 4.1
@ -237,10 +237,10 @@ public class PacketCollector {
}
/**
* Processes a packet to see if it meets the criteria for this packet collector.
* If so, the packet is added to the result queue.
* Processes a stanza(/packet) to see if it meets the criteria for this stanza(/packet) collector.
* 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) {
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() {
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.
*
* @param packetFilter

View file

@ -26,19 +26,26 @@ import java.util.Random;
import java.util.WeakHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* 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 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>
* <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>If that fails it will indefinitely try to connect once every five minutes.
* </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 Luca Stucchi
*/
public class ReconnectionManager {
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 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
*/
@ -122,13 +175,27 @@ public class ReconnectionManager {
*/
private int timeDelay() {
attempts++;
// Delay variable to be assigned
int delay;
switch (reconnectionPolicy) {
case FIXED_DELAY:
delay = fixedDelay;
break;
case RANDOM_INCREASING_DELAY:
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) {
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();
}
};
/**
* 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.
*
* @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.
*
* @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
* connection instance. You can modify (e.g. increase) the packet reply timeout with
* 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 stanza(/packet) reply timeout with
* {@link XMPPConnection#setPacketReplyTimeout(long)}.
*/
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.
* 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
* opposite approach to the functionality provided by a {@link PacketCollector}
* which lets you block while waiting for results.
@ -39,14 +39,14 @@ import org.jivesoftware.smack.packet.Stanza;
public interface StanzaListener {
/**
* Process the next packet sent to this packet listener.
* Process the next stanza(/packet) sent to this stanza(/packet) listener.
* <p>
* A single thread is responsible for invoking all listeners, so
* it's very important that implementations of this method not block
* for any extended period of time.
* </p>
*
* @param packet the packet to process.
* @param packet the stanza(/packet) to process.
* @throws NotConnectedException
* @throws InterruptedException
*/

View file

@ -155,9 +155,9 @@ public interface XMPPConnection {
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 InterruptedException
* @deprecated use {@link #sendStanza(Stanza)} instead.
@ -204,27 +204,27 @@ public interface XMPPConnection {
public void removeConnectionListener(ConnectionListener connectionListener);
/**
* Creates a new 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
* {@link IQReplyFilter}, guaranteeing that packet id and JID in the 'from' address have
* Creates a new stanza(/packet) collector collecting packets that are replies to <code>packet</code>.
* Does also send <code>packet</code>. The stanza(/packet) filter for the collector is an
* {@link IQReplyFilter}, guaranteeing that stanza(/packet) id and JID in the 'from' address have
* expected values.
*
* @param packet the packet to filter responses from
* @return a new packet collector.
* @param packet the stanza(/packet) to filter responses from
* @return a new stanza(/packet) collector.
* @throws NotConnectedException
* @throws 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
* more suitable to use than a {@link StanzaListener} when you need to wait for
* 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
* @return a new packet collector.
* @return a new stanza(/packet) collector.
* @throws InterruptedException
* @throws NotConnectedException
*/
@ -232,54 +232,54 @@ public interface XMPPConnection {
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
* PacketCollector is more suitable to use than a {@link StanzaListener}
* when you need to wait for a specific result.
* <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
* {@link #createPacketCollectorAndSend(StanzaFilter, Stanza)} instead.
* Otherwise make sure cancel the PacketCollector in every case, e.g. even
* if an exception is thrown, or otherwise you may leak the PacketCollector.
* </p>
*
* @param packetFilter the packet filter to use.
* @return a new packet collector.
* @param packetFilter the stanza(/packet) filter to use.
* @return a new stanza(/packet) collector.
*/
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>
* Please make sure to cancel the collector when it is no longer required. See also
* {@link #createPacketCollector(StanzaFilter)}.
* </p>
*
* @param configuration the packet collector configuration.
* @return a new packet collector.
* @param configuration the stanza(/packet) collector configuration.
* @return a new stanza(/packet) collector.
* @since 4.1
*/
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);
/**
* Registers a packet listener with this connection.
* Registers a stanza(/packet) listener with this connection.
* <p>
* This method has been deprecated. It is important to differentiate between using an asynchronous packet listener
* (preferred where possible) and a synchronous packet lister. Refer
* This method has been deprecated. It is important to differentiate between using an asynchronous stanza(/packet) listener
* (preferred where possible) and a synchronous stanza(/packet) lister. Refer
* {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} and
* {@link #addSyncStanzaListener(StanzaListener, StanzaFilter)} for more information.
* </p>
*
* @param packetListener the packet listener to notify of new received packets.
* @param packetFilter the packet filter to use.
* @param packetListener the stanza(/packet) listener to notify of new received packets.
* @param packetFilter the stanza(/packet) filter to use.
* @deprecated use {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} or
* {@link #addSyncStanzaListener(StanzaListener, StanzaFilter)}.
*/
@ -287,107 +287,107 @@ public interface XMPPConnection {
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.
* @return true if the packet listener was removed
* @param packetListener the stanza(/packet) listener to remove.
* @return true if the stanza(/packet) listener was removed
* @deprecated use {@link #removeAsyncStanzaListener(StanzaListener)} or {@link #removeSyncStanzaListener(StanzaListener)}.
*/
@Deprecated
public boolean removePacketListener(StanzaListener packetListener);
/**
* Registers a <b>synchronous</b> packet listener with this connection. A 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
* the same packet listener is added again with a different filter, only the new filter will be used.
* Registers a <b>synchronous</b> stanza(/packet) listener with this connection. A stanza(/packet) listener will be invoked only when
* an incoming stanza(/packet) is received. A stanza(/packet) filter determines which packets will be delivered to the listener. If
* the same stanza(/packet) listener is added again with a different filter, only the new filter will be used.
* <p>
* <b>Important:</b> This 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
* <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 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
* 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.
* </p>
*
* @param packetListener the packet listener to notify of new received packets.
* @param packetFilter the packet filter to use.
* @param packetListener the stanza(/packet) listener to notify of new received packets.
* @param packetFilter the stanza(/packet) filter to use.
* @see #addPacketInterceptor(StanzaListener, StanzaFilter)
* @since 4.1
*/
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.
* @return true if the packet listener was removed
* @param packetListener the stanza(/packet) listener to remove.
* @return true if the stanza(/packet) listener was removed
* @since 4.1
*/
public boolean removeSyncStanzaListener(StanzaListener packetListener);
/**
* Registers an <b>asynchronous</b> packet listener with this connection. A 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 the same packet listener is added again with a different filter, only the new filter will be used.
* Registers an <b>asynchronous</b> stanza(/packet) listener with this connection. A stanza(/packet) listener will be invoked only
* when an incoming stanza(/packet) is received. A stanza(/packet) filter determines which packets will be delivered to the listener.
* If the same stanza(/packet) listener is added again with a different filter, only the new filter will be used.
* <p>
* Unlike {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} 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
* 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 stanza(/packet) listeners must not depend
* on the order how the stanzas where received.
* </p>
*
* @param packetListener the packet listener to notify of new received packets.
* @param packetFilter the packet filter to use.
* @param packetListener the stanza(/packet) listener to notify of new received packets.
* @param packetFilter the stanza(/packet) filter to use.
* @see #addPacketInterceptor(StanzaListener, StanzaFilter)
* @since 4.1
*/
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.
* @return true if the packet listener was removed
* @param packetListener the stanza(/packet) listener to remove.
* @return true if the stanza(/packet) listener was removed
* @since 4.1
*/
public boolean removeAsyncStanzaListener(StanzaListener packetListener);
/**
* Registers a packet listener with this connection. The listener will be
* notified of every packet that this connection sends. A packet filter determines
* Registers a stanza(/packet) listener with this connection. The listener will be
* 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
* 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.
*
* @param packetListener the packet listener to notify of sent packets.
* @param packetFilter the packet filter to use.
* @param packetListener the stanza(/packet) listener to notify of sent packets.
* @param packetFilter the stanza(/packet) filter to use.
*/
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);
/**
* Registers a packet interceptor with this connection. The interceptor will be
* invoked every time a packet is about to be sent by this connection. Interceptors
* may modify the packet to be sent. A packet filter determines which packets
* Registers a stanza(/packet) interceptor with this connection. The interceptor will be
* invoked every time a stanza(/packet) is about to be sent by this connection. Interceptors
* may modify the stanza(/packet) to be sent. A stanza(/packet) filter determines which packets
* will be delivered to the interceptor.
*
* <p>
* 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 packetFilter the packet filter to use.
* @param packetInterceptor the stanza(/packet) interceptor to notify of packets about to be sent.
* @param packetFilter the stanza(/packet) filter to use.
*/
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);
@ -395,15 +395,15 @@ public interface XMPPConnection {
* Returns the current value of the reply timeout in milliseconds for request for this
* XMPPConnection instance.
*
* @return the packet reply timeout in milliseconds
* @return the stanza(/packet) reply timeout in milliseconds
*/
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.
*
* @param timeout the packet reply timeout in milliseconds
* @param timeout the stanza(/packet) reply timeout in milliseconds
*/
public void setPacketReplyTimeout(long timeout);
@ -449,12 +449,12 @@ public interface XMPPConnection {
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.
*
* @param element
* @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);
@ -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
* 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.
*/
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.
* 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.
*
* @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;
/**
* 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.
*
* @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
* 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
* if the sender of the packet matches the specified resource.
* if the sender of the stanza(/packet) matches the specified resource.
*
* @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
* 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.
* @param ignoreResourcepart
*/
@ -61,7 +61,7 @@ public class FromMatchesFilter implements StanzaFilter {
* the filter address with the bare from address. Otherwise, compares the filter 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.
*/
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
* 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.
*/
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
* 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.
*/
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.
* <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
* the <code>from</code> address to ignore forged replies.
* <p>
@ -62,7 +62,7 @@ public class IQReplyFilter implements StanzaFilter {
/**
* Filters for packets which are a valid reply to an IQ request.
* <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
* the <code>from</code> address to ignore forged replies.
* <p>

View file

@ -21,7 +21,7 @@ import org.jivesoftware.smack.packet.IQ.Type;
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.
*
* @author Alexander Wenckus

View file

@ -21,7 +21,7 @@ import org.jivesoftware.smack.packet.Stanza;
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.
*
* @author Matt Tucker

View file

@ -20,7 +20,7 @@ package org.jivesoftware.smack.filter;
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.
*
* @author Matt Tucker

View file

@ -22,7 +22,7 @@ import org.jivesoftware.smack.packet.ExtensionElement;
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
* @deprecated use {@link StanzaExtensionFilter} instead.
@ -34,12 +34,12 @@ public class PacketExtensionFilter implements StanzaFilter {
private final String namespace;
/**
* Creates a new packet extension filter. Packets will pass the filter if
* they have a packet extension that matches the specified element name
* Creates a new stanza(/packet) extension filter. Packets will pass the filter if
* they have a stanza(/packet) extension that matches the specified element name
* and namespace.
*
* @param elementName the XML element name of the packet extension.
* @param namespace the XML namespace of the packet extension.
* @param elementName the XML element name of the stanza(/packet) extension.
* @param namespace the XML namespace of the stanza(/packet) extension.
*/
public PacketExtensionFilter(String elementName, String namespace) {
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.
*
* @param namespace the XML namespace of the packet extension.
* @param namespace the XML namespace of the stanza(/packet) extension.
*/
public PacketExtensionFilter(String 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
*/

View file

@ -18,25 +18,25 @@
package org.jivesoftware.smack.filter;
/**
* Defines a way to filter packets for particular attributes. Packet filters are used when
* constructing packet listeners or collectors -- the filter defines what packets match the criteria
* of the collector or listener for further packet processing.
* Defines a way to filter packets for particular attributes. Stanza(/Packet) filters are used when
* constructing stanza(/packet) listeners or collectors -- the filter defines what packets match the criteria
* of the collector or listener for further stanza(/packet) processing.
* <p>
* 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
* 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).
*
* <pre>
* // Use an anonymous inner class to define a packet filter that returns
* // all packets that have a packet ID of &quot;RS145&quot;.
* // Use an anonymous inner class to define a stanza(/packet) filter that returns
* // all packets that have a stanza(/packet) ID of &quot;RS145&quot;.
* PacketFilter myFilter = new PacketFilter() {
* public boolean accept(Packet packet) {
* 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);
* </pre>
*

View file

@ -21,7 +21,7 @@ import org.jivesoftware.smack.packet.Stanza;
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
* @deprecated use {@link StanzaIdFilter} instead.
@ -32,9 +32,9 @@ public class PacketIDFilter implements StanzaFilter {
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
@ -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

View file

@ -42,7 +42,7 @@ public class PacketTypeFilter implements StanzaFilter {
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>.
*
* @param packetType the Class type.

View file

@ -21,7 +21,7 @@ import org.jivesoftware.smack.packet.Presence.Type;
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.
*/
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.
*
* @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.
*/
public boolean accept(Stanza stanza);

View file

@ -42,7 +42,7 @@ public final class StanzaTypeFilter implements StanzaFilter {
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>.
*
* @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.
*
* @param elementName the XML element name of the packet extension.
* @param namespace the XML element namespace of the packet extension.
* @param elementName the XML element name of the stanza(/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.
*/
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;
/**
* IQ 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
* 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 stanza(/packet) where the
* 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>
*

View file

@ -27,7 +27,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
/**
* Default implementation of the ExtensionElement interface. Unless a ExtensionElementProvider
* 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
* 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;
/**
* 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 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.
*
* @return the XML element name of the packet extension.
* @return the XML element name of the stanza(/packet) extension.
*/
public String getElementName() {
return elementName;
@ -75,7 +75,7 @@ public class DefaultExtensionElement implements ExtensionElement {
/**
* 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() {
return namespace;
@ -95,7 +95,7 @@ public class DefaultExtensionElement implements ExtensionElement {
/**
* 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.
*/
@ -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.
* @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 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
* 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 {
/**
* Returns the XML representation of this Element.
*
* @return the packet extension as XML.
* @return the stanza(/packet) extension as XML.
*/
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
* 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>
*
* IQ packets can contain a single child element that exists in a specific XML
* namespace. The combination of the element name and namespace determines what
* type of IQ packet it is. Some example IQ subpacket snippets:<ul>
* 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: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
* <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>
* For example to create an IQ with a extra attribute and an additional child element
* </p>
@ -195,7 +195,7 @@ public abstract class IQ extends Stanza {
* xml.attribute(&quot;myAttribute&quot;, &quot;myAttributeValue&quot;);
* xml.setEmptyElement();
* </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.
*
* @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}
* 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 recipient set to the sender of the originating IQ.
* <li>The type set to {@link Type#result IQ.Type.result}.
@ -215,7 +215,7 @@ public abstract class IQ extends Stanza {
* </ul>
*
* @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}.
* @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
* 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 recipient set to the sender of the originating IQ.
* <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 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}.
* @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
* 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 {

View file

@ -47,7 +47,7 @@ public interface Packet extends TopLevelStreamElement {
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.
*
* @param id the unique ID for the packet.
@ -63,39 +63,39 @@ public interface Packet extends TopLevelStreamElement {
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"
* 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.
*/
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.
*
* @param to who the packet is being sent to.
* @param to who the stanza(/packet) is being sent 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"
* 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.
*/
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
* 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);
@ -128,16 +128,16 @@ public interface Packet extends TopLevelStreamElement {
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();
/**
* Return a set of all extensions with the given element name <emph>and</emph> namespace.
* <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>
*
* @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);
/**
* 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>
* When possible, use {@link #getExtension(String,String)} instead.
* </p>
*
* @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);
/**
* 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,
* 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
* DefaultPacketExtension instance will be returned for each extension. However,
* 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
* will be determined by the provider.
*
* @param elementName the XML element name of the packet extension. (May be null)
* @param namespace the XML element namespace of the packet extension.
* @param elementName the XML element name of the stanza(/packet) extension. (May be null)
* @param namespace the XML element namespace of the stanza(/packet) extension.
* @return the extension, or <tt>null</tt> if it doesn't exist.
*/
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);
/**
* 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);
/**
* 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>
* The argument <code>elementName</code> may be null.
* </p>
*
* @param elementName
* @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);
/**
* Check if a packet extension with the given namespace exists.
* Check if a stanza(/packet) extension with the given namespace exists.
*
* @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);
/**
* Remove the packet extension with the given elementName and namespace.
* Remove the stanza(/packet) extension with the given elementName and namespace.
*
* @param elementName
* @param namespace
* @return the removed packet extension or null.
* @return the removed stanza(/packet) extension or null.
*/
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.
* @return the removed packet extension or null.
* @param extension the stanza(/packet) extension to remove.
* @return the removed stanza(/packet) extension or null.
*/
public ExtensionElement removeExtension(ExtensionElement extension);

View file

@ -24,7 +24,7 @@ import org.jivesoftware.smack.util.TypedCloneable;
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:
* <ul>
* <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.
* <li>{@link Presence.Type#unsubscribed unsubscribed} -- grant removal of subscription to
* 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>
*
* A number of attributes are optional:
@ -299,7 +299,7 @@ public final class Presence extends Stanza implements TypedCloneable<Presence> {
unsubscribed,
/**
* The presence packet contains an error message.
* The presence stanza(/packet) contains an error message.
*/
error,

View file

@ -20,7 +20,7 @@ package org.jivesoftware.smack.packet;
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
* 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;
/**
* 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>
* 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
@ -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.
*
* @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"
* 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.
*/
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.
*
* @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.
* @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"
* 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.
*/
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
* 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.
* @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.
* <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>
*
* @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>
* When possible, use {@link #getExtension(String,String)} instead.
* </p>
*
* @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) {
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) {
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) {
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>
* The argument <code>elementName</code> may be null.
* </p>
*
* @param elementName
* @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) {
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
* @return true if a packet extension exists, false otherwise.
* @return true if a stanza(/packet) extension exists, false otherwise.
*/
public boolean hasExtension(String namespace) {
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 namespace
* @return the removed packet extension or null.
* @return the removed stanza(/packet) extension or null.
*/
public ExtensionElement removeExtension(String elementName, String 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.
* @return the removed packet extension or null.
* @param extension the stanza(/packet) extension to remove.
* @return the removed stanza(/packet) extension or null.
*/
public ExtensionElement removeExtension(ExtensionElement extension) {
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
* 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
* are no packet extensions.
* are no stanza(/packet) extensions.
*/
protected final XmlStringBuilder getExtensionsXML() {
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.
*/

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
* 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>
*
* <table border=1>
@ -112,7 +112,7 @@ public class XMPPError extends AbstractError {
* @param type the error type.
* @param condition the error condition.
* @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,
List<ExtensionElement> extensions) {

View file

@ -23,7 +23,7 @@ package org.jivesoftware.smack.parsing;
* 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
* 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()})
* method.
*

View file

@ -19,7 +19,7 @@ package org.jivesoftware.smack.provider;
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}.
*
* @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
* 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
* 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>
* &lt;iq type='result' to='joe@example.com' from='mary@example.com' id='time_1'&gt;
* &lt;query xmlns='jabber:iq:time'&gt;
@ -74,13 +74,13 @@ import org.jxmpp.util.XmppStringUtils;
* &lt;/query&gt;
* &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
* 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
* 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
* 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>
*
* 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
* 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
* 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
* store all top-level elements of the sub-packet in DefaultPacketExtension object and then
* 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.
* 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>
* &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
* 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>
* &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 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) {
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.
*
* @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
*/
public static Stanza parseStanza(XmlPullParser parser) throws Exception {
@ -899,7 +899,7 @@ public class PacketParserUtils {
* Parses an 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.
* @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
* 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
* @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.
*
* @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
* method will block for up to the specified number of seconds if no packets
* have been sent yet.
@ -182,11 +182,11 @@ public class DummyConnection extends AbstractXMPPConnection {
}
/**
* Processes a packet through the installed packet collectors and listeners
* and letting them examine the packet to see if they are a match with the
* Processes a stanza(/packet) through the installed stanza(/packet) collectors and listeners
* and letting them examine the stanza(/packet) to see if they are a match with the
* filter.
*
* @param packet the packet to process.
* @param packet the stanza(/packet) to process.
*/
public void processPacket(Stanza 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.
* This is accomplished by simply stopping the auto creating of the reply packet
* 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 stanza(/packet)
* or processing one that was entered via {@link #processPacket(Stanza)}.
*/
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 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) {
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 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) {
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>
* <p/>
* 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
* 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) {
this.text = text;

View file

@ -38,7 +38,7 @@ import org.jivesoftware.smackx.carbons.packet.CarbonExtension.Private;
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
* message carbons.
*

View file

@ -22,12 +22,12 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
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
* meant to synchronize a message flow to multiple presences of a user.
*
* <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
*
* @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.
*/
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
* 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
*

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
* @return the GCM packet extension or null.
* @return the GCM stanza(/packet) extension or null.
*/
public static GcmPacketExtension from(Stanza packet) {
return packet.getExtension(ELEMENT, NAMESPACE);

View file

@ -20,7 +20,7 @@ import org.jivesoftware.smack.packet.ExtensionElement;
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.
*
* @author Andriy Tsykholyas

View file

@ -28,7 +28,7 @@ import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
/**
* Abstract parent for Req and Resp packet providers.
* Abstract parent for Req and Resp stanza(/packet) providers.
*
* @author Andriy Tsykholyas
* @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;
/**
* Packet provider for base64 binary chunks.
* Stanza(/Packet) provider for base64 binary chunks.
*
* @author Andriy Tsykholyas
* @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;
/**
* Req packet provider.
* Req stanza(/packet) provider.
*
* @author Andriy Tsykholyas
* @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;
/**
* Resp packet provider.
* Resp stanza(/packet) provider.
*
* @author Andriy Tsykholyas
* @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
* @return the JSON packet extension or null.
* @return the JSON stanza(/packet) extension or null.
*/
public static JsonPacketExtension from(Stanza packet) {
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)}
* 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() {
return !extension.getAddressesOfType(MultipleAddresses.Type.noreply).isEmpty();

View file

@ -47,14 +47,14 @@ import java.util.List;
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
* 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
* the packet to each recipient.
* the stanza(/packet) to each recipient.
*
* @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 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
* connection. If the server has support for XEP-33 then only one packet is going to be sent to
* 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 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 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 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 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
@ -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
* 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 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.
* @throws SmackException
* @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
* contain such information.
*
* @param packet the packet to check.
* @return the MultipleRecipientInfo contained in the specified packet or <tt>null</tt>
* @param packet the stanza(/packet) to check.
* @return the MultipleRecipientInfo contained in the specified stanza(/packet) or <tt>null</tt>
* if none was found.
*/
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
* is needed to be sent to different recipients. Since using the same packet is not possible
* (i.e. cannot change the TO address of a queues packet to be sent) then this class was
* 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 stanza(/packet) is not possible
* (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.
*/
private static class PacketCopy extends Stanza {
@ -301,10 +301,10 @@ public class MultipleRecipientManager {
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.
*
* @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) {
this.text = text;

View file

@ -26,7 +26,7 @@ import java.util.ArrayList;
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
*/
@ -55,14 +55,14 @@ public class MultipleAddresses implements ExtensionElement {
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 jid the JID address of the recipient.
* @param node used to specify a sub-addressable unit at a particular JID, corresponding to
* a Service Discovery node.
* @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.
*/
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() {
// 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.
* Always returns "amp"
*
* @return the XML element name of the packet extension.
* @return the XML element name of the stanza(/packet) extension.
*/
@Override
public String getElementName() {
@ -140,7 +140,7 @@ public class AMPExtension implements ExtensionElement {
* Returns the XML namespace of the extension sub-packet root element.
* 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
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());
/**
* 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.
* @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
* packet extension that don't belong to an existing session.
* stanza(/packet) extension that don't belong to an existing session.
* <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
* &lt;item-not-found/&gt; error is returned to the sender.
* <p>

View file

@ -50,7 +50,7 @@ import org.jxmpp.jid.Jid;
* in case the Socks5 bytestream method of transferring data is not available.
* <p>
* 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
* 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
@ -287,7 +287,7 @@ public class InBandBytestreamManager implements BytestreamManager {
* to the initiator.
* <p>
* 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
*/
@ -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
* 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 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
* 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 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
* 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 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.
*/
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.
* 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.
*/
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();
/**
* 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();
@ -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.
*
* @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() {
if (isClosed) {
@ -494,7 +494,7 @@ public class InBandBytestreamSession implements BytestreamSession {
protected StanzaFilter getDataPacketFilter() {
/*
* 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());
}
@ -540,7 +540,7 @@ public class InBandBytestreamSession implements BytestreamSession {
@Override
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
*/
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,
* 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.
*/
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
* @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.
*
* @param data data packet extension containing the encoded data
* @param data data stanza(/packet) extension containing the encoded data
*/
public Data(DataPacketExtension data) {
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() {
return this.dataPacketExtension;

View file

@ -30,7 +30,7 @@ import org.jivesoftware.smack.util.stringencoder.Base64;
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";
@ -54,7 +54,7 @@ public class DataPacketExtension implements ExtensionElement {
* Creates a new In-Band Bytestream data packet.
*
* @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
*/
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() {
return seq;

View file

@ -24,7 +24,7 @@ import org.xmlpull.v1.XmlPullParser;
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.
*
* @author Henning Staib

View file

@ -268,7 +268,7 @@ public final class Socks5BytestreamManager implements BytestreamManager {
* to the initiator.
* <p>
* 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
*/
@ -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
* @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) {
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.
*
* @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)
* </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 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.
* @throws XMPPErrorException
* @throws NoResponseException

View file

@ -26,7 +26,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
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
*/
@ -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.
*
* @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.
*/
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
* 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.
*
* @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
* 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
*/
@ -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
*/

View file

@ -352,7 +352,7 @@ public class EntityCapsManager extends Manager {
public void processPacket(Stanza packet) {
if (!entityCapsEnabled)
return;
CapsVersionAndHash capsVersionAndHash = getCapsVersion();
CapsVersionAndHash capsVersionAndHash = getCapsVersionAndHash();
CapsExtension caps = new CapsExtension(entityNode, capsVersionAndHash.version, capsVersionAndHash.hash);
packet.addExtension(caps);
}
@ -413,7 +413,7 @@ public class EntityCapsManager extends Manager {
*
* @return our own caps version
*/
public CapsVersionAndHash getCapsVersion() {
public CapsVersionAndHash getCapsVersionAndHash() {
return currentCapsVersion;
}
@ -425,7 +425,11 @@ public class EntityCapsManager extends Manager {
* @return the local NodeVer
*/
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.setType(IQ.Type.result);
discoverInfo.setNode(getLocalNodeVer());
if (connection != null)
discoverInfo.setFrom(connection.getUser());
sdm.addDiscoverInfoTo(discoverInfo);
// getLocalNodeVer() will return a result only after currentCapsVersion is set. Therefore
// set it first and then call getLocalNodeVer()
currentCapsVersion = generateVerificationString(discoverInfo);
addDiscoverInfoByNode(entityNode + '#' + currentCapsVersion.version, discoverInfo);
final String localNodeVer = getLocalNodeVer();
discoverInfo.setNode(localNodeVer);
addDiscoverInfoByNode(localNodeVer, discoverInfo);
if (lastLocalCapsVersions.size() > 10) {
CapsVersionAndHash oldCapsVersion = lastLocalCapsVersions.poll();
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));
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<ExtensionElement> packetExtensions = sdm.getExtendedInfoAsList();
@Override
@ -553,7 +558,7 @@ public class EntityCapsManager extends Manager {
/**
*
* @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) {
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 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
* @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
* 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>.
*
* 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
* 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.
*
* @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,
* before executing the command, if:
* <ul>
@ -318,7 +318,7 @@ public class AdHocCommandManager extends Manager {
* </ul>
*
* @param requestData
* the packet to process.
* the stanza(/packet) to process.
* @throws NotConnectedException
* @throws NoResponseException
* @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
* always includes the timestamp when the 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
* 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 stanza(/packet) as well as the reason
* for the delay.<p>
*
* 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
* delivery of the packet or <tt>null</tt> if this information is not available.
* Returns the JID of the entity that originally sent the stanza(/packet) or that delayed the
* 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.
*/
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.
*
* @return the timestamp when the packet was originally sent.
* @return the timestamp when the stanza(/packet) was originally sent.
*/
public Date getStamp() {
return stamp;

View file

@ -64,9 +64,9 @@ public interface NodeInformationProvider {
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();
}

View file

@ -29,6 +29,7 @@ import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.XMPPError;
import org.jivesoftware.smack.util.Objects;
import org.jivesoftware.smackx.caps.EntityCapsManager;
import org.jivesoftware.smackx.disco.packet.DiscoverInfo;
import org.jivesoftware.smackx.disco.packet.DiscoverItems;
@ -202,9 +203,10 @@ public class ServiceDiscoveryManager extends Manager {
*
* @param identity
*/
public void setIdentity(Identity identity) {
if (identity == null) throw new IllegalArgumentException("Identity can not be null");
this.identity = identity;
public synchronized void setIdentity(Identity identity) {
this.identity = Objects.requireNonNull(identity, "Identity can not be null");
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion();
}
@ -234,8 +236,10 @@ public class ServiceDiscoveryManager extends Manager {
*
* @param identity
*/
public void addIdentity(DiscoverInfo.Identity identity) {
public synchronized void addIdentity(DiscoverInfo.Identity identity) {
identities.add(identity);
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion();
}
@ -246,9 +250,11 @@ public class ServiceDiscoveryManager extends Manager {
* @param identity
* @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;
identities.remove(identity);
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion();
return true;
}
@ -288,18 +294,16 @@ public class ServiceDiscoveryManager extends Manager {
*
* @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
response.addIdentities(getIdentities());
// Add the registered features to the response
synchronized (features) {
for (String feature : getFeatures()) {
response.addFeature(feature);
}
response.addExtension(extendedInfo);
}
}
/**
* 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.
*/
public List<String> getFeatures() {
synchronized (features) {
public synchronized List<String> getFeatures() {
return new ArrayList<String>(features);
}
}
/**
* 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>
*
* 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 so that the information is already available if it is required
* upon login.
*
* @param feature the feature to register as supported.
*/
public void addFeature(String feature) {
synchronized (features) {
if (!features.contains(feature)) {
public synchronized void addFeature(String feature) {
features.add(feature);
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion();
}
}
}
/**
* 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.
*
* @param feature the feature to remove from the supported features.
*/
public void removeFeature(String feature) {
synchronized (features) {
public synchronized void removeFeature(String feature) {
features.remove(feature);
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion();
}
}
/**
* 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.
* @return a boolean indicating if the specified featured is registered or not.
*/
public boolean includesFeature(String feature) {
synchronized (features) {
public synchronized boolean includesFeature(String feature) {
return features.contains(feature);
}
}
/**
* Registers extended discovery information of this XMPP entity. When this
@ -417,7 +415,7 @@ public class ServiceDiscoveryManager extends Manager {
* specified by XEP-0128.
* <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
* configure the extended info before logging to the server so that the
* 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
* information.
*/
public void setExtendedInfo(DataForm info) {
public synchronized void setExtendedInfo(DataForm info) {
extendedInfo = info;
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
renewEntityCapsVersion();
}
@ -460,11 +460,13 @@ public class ServiceDiscoveryManager extends Manager {
* Removes the data form containing extended service discovery information
* 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.
*/
public void removeExtendedInfo() {
public synchronized void removeExtendedInfo() {
extendedInfo = null;
// Notify others of a state change of SDM. In order to keep the state consistent, this
// method is synchronized
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
* 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.
*/
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
* transfer request.
* <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
* provides to the other user for file transfer are <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
* 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
* being transfer and also the methods available to transfer the
* file.

View file

@ -58,7 +58,7 @@ public abstract class StreamNegotiator {
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.
*
* @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;
/**
* Packet extension for >XEP-0297: Stanza Forwarding.
* Stanza(/Packet) extension for >XEP-0297: Stanza Forwarding.
*
* @author Georg Lukas
* @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;
/**
* Creates a new Forwarded packet extension.
* Creates a new Forwarded stanza(/packet) extension.
*
* @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) {
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) {
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.
*/
@ -86,7 +86,7 @@ public class Forwarded implements ExtensionElement {
/**
* 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() {
return delay;

View file

@ -30,7 +30,7 @@ import org.xmlpull.v1.XmlPullParser;
/**
* 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
*/

View file

@ -60,7 +60,7 @@ import org.jxmpp.jid.Jid;
* <p/>
*
* 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>
*
* <pre>
@ -76,7 +76,7 @@ import org.jxmpp.jid.Jid;
* LastActivity activity = LastActivity.getLastActivity(con, &quot;xray@jabber.org&quot;);
* </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:
* <p>
*
@ -228,7 +228,7 @@ public class LastActivityManager extends Manager {
*
* @param jid
* the JID of the user.
* @return the LastActivity packet of the jid.
* @return the LastActivity stanza(/packet) of the jid.
* @throws XMPPErrorException
* thrown if a server error has occured.
* @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.
* 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:
*
* <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.
*
* @return the XML element name of the packet extension.
* @return the XML element name of the stanza(/packet) extension.
*/
public String getElementName() {
return elementName;
@ -73,7 +73,7 @@ public class DefaultPrivateData implements PrivateData {
/**
* 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() {
return namespace;

View file

@ -96,7 +96,7 @@ public class AccountManager extends Manager {
/**
* Flag that indicates 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 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.
*/
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
* 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.
*/

View file

@ -28,7 +28,7 @@ public class JivePropertiesManager {
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
* you are sure that you understand the potential security implications it can cause.
* <p>
@ -49,7 +49,7 @@ public class JivePropertiesManager {
/**
* 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 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.
*
* @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.
*
* @param packet

View file

@ -40,7 +40,7 @@ import org.jivesoftware.smack.util.stringencoder.Base64;
*/
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";
@ -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
* be returned as their object equivalent. For example, an int property will be
* 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
* 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
* 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>
* Note that you have to explicitly enabled Java object deserialization with @{link
* {@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
* 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.
*
* @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) {
presenceInterceptors.add(presenceInterceptor);
@ -792,10 +792,10 @@ public class MultiUserChat {
/**
* 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.
*
* @param presenceInterceptor the packet interceptor to remove.
* @param presenceInterceptor the stanza(/packet) interceptor to remove.
*/
public void removePresenceInterceptor(StanzaListener 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
* 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.
* @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.
*
* @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.
* @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
* (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.
*
* @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
* 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
* PacketListener directly with the XMPPConnection with the appropriate
* PacketListener.
*
* @param listener a packet listener.
* @param listener a stanza(/packet) listener.
* @return true if the listener was not already added.
*/
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
* 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.
*/
public boolean removeMessageListener(MessageListener listener) {

View file

@ -74,7 +74,7 @@ public class RoomInfo {
*/
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.
*/
private final boolean nonanonymous;

View file

@ -27,7 +27,7 @@ import org.xmlpull.v1.XmlPullParser;
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
* a new message to the user and set the room name appropriately, as in the
* following code example:
@ -45,7 +45,7 @@ import org.xmlpull.v1.XmlPullParserException;
*
* <pre>
* 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>
*
* <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 {
/**
* Element name of the packet extension.
* Element name of the stanza(/packet) extension.
*/
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";

View file

@ -23,7 +23,7 @@ import java.util.List;
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
* moderator privileges. All these operations are scoped by the
* 'http://jabber.org/protocol/muc#admin' namespace.

View file

@ -23,7 +23,7 @@ import java.util.Collections;
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
* 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,
* 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.
*
* @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,
* 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.
*
* @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> {
/**
* 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.
* @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.
* 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() {
return "offline";
@ -50,7 +50,7 @@ public class OfflineMessageInfo implements ExtensionElement {
* Returns the XML namespace of the extension sub-packet root element.
* 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() {
return "http://jabber.org/protocol/offline";
@ -91,7 +91,7 @@ public class OfflineMessageInfo implements ExtensionElement {
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.
* @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.
* 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() {
return "event";
@ -68,7 +68,7 @@ public class PEPEvent implements ExtensionElement {
* According the specification the namespace is always "jabber:x:roster"
* (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() {
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.
* 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() {
return "item";
@ -55,7 +55,7 @@ public abstract class PEPItem implements ExtensionElement {
/**
* 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() {
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>.)
*
* @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.
*
* @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.
* @return a new {@link Privacy} with the data received from the server.
* @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.
*
* @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.
* @return a new {@link Privacy} with the data received from the server.
* @throws XMPPErrorException

View file

@ -19,7 +19,7 @@ package org.jivesoftware.smackx.privacy.packet;
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,
* subscription type or globally by:<ul>

View file

@ -19,7 +19,7 @@ package org.jivesoftware.smackx.pubsub;
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.
*
* Form types are defined in {@link FormNodeType}.

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