mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-11-24 13:02:06 +01:00
Globally 's;stanza(/packet);stanza;'
This commit is contained in:
parent
1d12be1644
commit
ad87243060
171 changed files with 911 additions and 599 deletions
|
@ -248,7 +248,7 @@ public class XMPPBOSHConnection extends AbstractXMPPConnection {
|
||||||
* Closes the connection by setting presence to unavailable and closing the
|
* Closes the connection by setting presence to unavailable and closing the
|
||||||
* HTTP client. The shutdown logic will be used during a planned disconnection or when
|
* HTTP client. The shutdown logic will be used during a planned disconnection or when
|
||||||
* dealing with an unexpected disconnection. Unlike {@link #disconnect()} the connection's
|
* dealing with an unexpected disconnection. Unlike {@link #disconnect()} the connection's
|
||||||
* BOSH stanza(/packet) reader will not be removed; thus connection's state is kept.
|
* BOSH stanza reader will not be removed; thus connection's state is kept.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@ -460,7 +460,7 @@ public class XMPPBOSHConnection extends AbstractXMPPConnection {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Listens for XML traffic from the BOSH connection manager and parses it into
|
* Listens for XML traffic from the BOSH connection manager and parses it into
|
||||||
* stanza(/packet) objects.
|
* stanza objects.
|
||||||
*
|
*
|
||||||
* @author Guenther Niess
|
* @author Guenther Niess
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -37,7 +37,7 @@ public class IQTest extends SmackTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check that the server responds a 503 error code when the client sends an IQ stanza(/packet) with an
|
* Check that the server responds a 503 error code when the client sends an IQ stanza with an
|
||||||
* invalid namespace.
|
* invalid namespace.
|
||||||
*/
|
*/
|
||||||
public void testInvalidNamespace() {
|
public void testInvalidNamespace() {
|
||||||
|
|
|
@ -49,7 +49,7 @@ public class PacketIDFilterTest extends TestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wraps the MockPacket class to always give an expected stanza(/packet) ID field.
|
* Wraps the MockPacket class to always give an expected stanza ID field.
|
||||||
*/
|
*/
|
||||||
private class MockIDPacket extends MockPacket {
|
private class MockIDPacket extends MockPacket {
|
||||||
private String id;
|
private String id;
|
||||||
|
|
|
@ -132,24 +132,24 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
private final Collection<StanzaCollector> collectors = new ConcurrentLinkedQueue<>();
|
private final Collection<StanzaCollector> collectors = new ConcurrentLinkedQueue<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List of PacketListeners that will be notified synchronously when a new stanza(/packet) was received.
|
* List of PacketListeners that will be notified synchronously when a new stanza was received.
|
||||||
*/
|
*/
|
||||||
private final Map<StanzaListener, ListenerWrapper> syncRecvListeners = new LinkedHashMap<>();
|
private final Map<StanzaListener, ListenerWrapper> syncRecvListeners = new LinkedHashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List of PacketListeners that will be notified asynchronously when a new stanza(/packet) was received.
|
* List of PacketListeners that will be notified asynchronously when a new stanza was received.
|
||||||
*/
|
*/
|
||||||
private final Map<StanzaListener, ListenerWrapper> asyncRecvListeners = new LinkedHashMap<>();
|
private final Map<StanzaListener, ListenerWrapper> asyncRecvListeners = new LinkedHashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List of PacketListeners that will be notified when a new stanza(/packet) was sent.
|
* List of PacketListeners that will be notified when a new stanza was sent.
|
||||||
*/
|
*/
|
||||||
private final Map<StanzaListener, ListenerWrapper> sendListeners =
|
private final Map<StanzaListener, ListenerWrapper> sendListeners =
|
||||||
new HashMap<>();
|
new HashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List of PacketListeners that will be notified when a new stanza(/packet) is about to be
|
* List of PacketListeners that will be notified when a new stanza is about to be
|
||||||
* sent to the server. These interceptors may modify the stanza(/packet) before it is being
|
* sent to the server. These interceptors may modify the stanza before it is being
|
||||||
* actually sent to the server.
|
* actually sent to the server.
|
||||||
*/
|
*/
|
||||||
private final Map<StanzaListener, InterceptorWrapper> interceptors =
|
private final Map<StanzaListener, InterceptorWrapper> interceptors =
|
||||||
|
@ -267,7 +267,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A executor service used to invoke the callbacks of synchronous stanza(/packet) listeners. We use a executor service to
|
* A executor service used to invoke the callbacks of synchronous stanza listeners. We use a executor service to
|
||||||
* decouple incoming stanza processing from callback invocation. It is important that order of callback invocation
|
* decouple incoming stanza processing from callback invocation. It is important that order of callback invocation
|
||||||
* is the same as the order of the incoming stanzas. Therefore we use a <i>single</i> threaded executor service.
|
* is the same as the order of the incoming stanzas. Therefore we use a <i>single</i> threaded executor service.
|
||||||
*/
|
*/
|
||||||
|
@ -420,7 +420,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logs in to the server using the strongest SASL mechanism supported by
|
* Logs in to the server using the strongest SASL mechanism supported by
|
||||||
* the server. If more than the connection's default stanza(/packet) timeout elapses in each step of the
|
* the server. If more than the connection's default stanza timeout elapses in each step of the
|
||||||
* authentication process without a response from the server, a
|
* authentication process without a response from the server, a
|
||||||
* {@link SmackException.NoResponseException} will be thrown.
|
* {@link SmackException.NoResponseException} will be thrown.
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -716,8 +716,8 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
* by closing the stream. The XMPPConnection can still be used for connecting to the server
|
* by closing the stream. The XMPPConnection can still be used for connecting to the server
|
||||||
* again. A custom unavailable presence is useful for communicating offline presence
|
* again. A custom unavailable presence is useful for communicating offline presence
|
||||||
* information such as "On vacation". Typically, just the status text of the presence
|
* information such as "On vacation". Typically, just the status text of the presence
|
||||||
* stanza(/packet) is set with online information, but most XMPP servers will deliver the full
|
* stanza is set with online information, but most XMPP servers will deliver the full
|
||||||
* presence stanza(/packet) with whatever data is set.
|
* presence stanza with whatever data is set.
|
||||||
*
|
*
|
||||||
* @param unavailablePresence the optional presence stanza to send during shutdown.
|
* @param unavailablePresence the optional presence stanza to send during shutdown.
|
||||||
* @throws NotConnectedException
|
* @throws NotConnectedException
|
||||||
|
@ -874,12 +874,12 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process all stanza(/packet) listeners for sending packets.
|
* Process all stanza listeners for sending packets.
|
||||||
* <p>
|
* <p>
|
||||||
* Compared to {@link #firePacketInterceptors(Stanza)}, the listeners will be invoked in a new thread.
|
* Compared to {@link #firePacketInterceptors(Stanza)}, the listeners will be invoked in a new thread.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param packet the stanza(/packet) to process.
|
* @param packet the stanza to process.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("javadoc")
|
@SuppressWarnings("javadoc")
|
||||||
protected void firePacketSendingListeners(final Stanza packet) {
|
protected void firePacketSendingListeners(final Stanza packet) {
|
||||||
|
@ -949,12 +949,12 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process interceptors. Interceptors may modify the stanza(/packet) that is about to be sent.
|
* Process interceptors. Interceptors may modify the stanza that is about to be sent.
|
||||||
* Since the thread that requested to send the stanza(/packet) will invoke all interceptors, it
|
* Since the thread that requested to send the stanza will invoke all interceptors, it
|
||||||
* is important that interceptors perform their work as soon as possible so that the
|
* is important that interceptors perform their work as soon as possible so that the
|
||||||
* thread does not remain blocked for a long period.
|
* thread does not remain blocked for a long period.
|
||||||
*
|
*
|
||||||
* @param packet the stanza(/packet) that is going to be sent to the server
|
* @param packet the stanza that is going to be sent to the server
|
||||||
*/
|
*/
|
||||||
private void firePacketInterceptors(Stanza packet) {
|
private void firePacketInterceptors(Stanza packet) {
|
||||||
List<StanzaListener> interceptorsToInvoke = new LinkedList<>();
|
List<StanzaListener> interceptorsToInvoke = new LinkedList<>();
|
||||||
|
@ -1037,8 +1037,8 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Processes a stanza(/packet) after it's been fully parsed by looping through the installed
|
* Processes a stanza 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
|
* stanza collectors and listeners and letting them examine the stanza to see if
|
||||||
* they are a match with the filter.
|
* they are a match with the filter.
|
||||||
*
|
*
|
||||||
* @param stanza the stanza to process.
|
* @param stanza the stanza to process.
|
||||||
|
@ -1059,14 +1059,14 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Invoke {@link StanzaCollector#processStanza(Stanza)} for every
|
* Invoke {@link StanzaCollector#processStanza(Stanza)} for every
|
||||||
* StanzaCollector with the given packet. Also notify the receive listeners with a matching stanza(/packet) filter about the packet.
|
* StanzaCollector with the given packet. Also notify the receive listeners with a matching stanza filter about the packet.
|
||||||
* <p>
|
* <p>
|
||||||
* This method will be invoked by the connections incoming processing thread which may be shared across multiple connections and
|
* This method will be invoked by the connections incoming processing thread which may be shared across multiple connections and
|
||||||
* thus it is important that no user code, e.g. in form of a callback, is invoked by this method. For the same reason,
|
* thus it is important that no user code, e.g. in form of a callback, is invoked by this method. For the same reason,
|
||||||
* this method must not block for an extended period of time.
|
* this method must not block for an extended period of time.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param packet the stanza(/packet) to notify the StanzaCollectors and receive listeners about.
|
* @param packet the stanza to notify the StanzaCollectors and receive listeners about.
|
||||||
*/
|
*/
|
||||||
protected void invokeStanzaCollectorsAndNotifyRecvListeners(final Stanza packet) {
|
protected void invokeStanzaCollectorsAndNotifyRecvListeners(final Stanza packet) {
|
||||||
if (packet instanceof IQ) {
|
if (packet instanceof IQ) {
|
||||||
|
@ -1302,7 +1302,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A wrapper class to associate a stanza(/packet) filter with a listener.
|
* A wrapper class to associate a stanza filter with a listener.
|
||||||
*/
|
*/
|
||||||
protected static class ListenerWrapper {
|
protected static class ListenerWrapper {
|
||||||
|
|
||||||
|
@ -1310,9 +1310,9 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
private final StanzaFilter packetFilter;
|
private final StanzaFilter packetFilter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a class which associates a stanza(/packet) filter with a listener.
|
* Create a class which associates a stanza filter with a listener.
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener.
|
* @param packetListener the stanza listener.
|
||||||
* @param packetFilter the associated filter or null if it listen for all packets.
|
* @param packetFilter the associated filter or null if it listen for all packets.
|
||||||
*/
|
*/
|
||||||
public ListenerWrapper(StanzaListener packetListener, StanzaFilter packetFilter) {
|
public ListenerWrapper(StanzaListener packetListener, StanzaFilter packetFilter) {
|
||||||
|
@ -1330,7 +1330,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A wrapper class to associate a stanza(/packet) filter with an interceptor.
|
* A wrapper class to associate a stanza filter with an interceptor.
|
||||||
*/
|
*/
|
||||||
protected static class InterceptorWrapper {
|
protected static class InterceptorWrapper {
|
||||||
|
|
||||||
|
@ -1338,7 +1338,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection {
|
||||||
private final StanzaFilter packetFilter;
|
private final StanzaFilter packetFilter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a class which associates a stanza(/packet) filter with an interceptor.
|
* Create a class which associates a stanza filter with an interceptor.
|
||||||
*
|
*
|
||||||
* @param packetInterceptor the interceptor.
|
* @param packetInterceptor the interceptor.
|
||||||
* @param packetFilter the associated filter or null if it intercepts all packets.
|
* @param packetFilter the associated filter or null if it intercepts all packets.
|
||||||
|
|
|
@ -153,7 +153,7 @@ public final class SmackConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the default max size of a stanza(/packet) collector before it will delete
|
* Gets the default max size of a stanza collector before it will delete
|
||||||
* the older packets.
|
* the older packets.
|
||||||
*
|
*
|
||||||
* @return The number of packets to queue before deleting older packets.
|
* @return The number of packets to queue before deleting older packets.
|
||||||
|
@ -163,7 +163,7 @@ public final class SmackConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the default max size of a stanza(/packet) collector before it will delete
|
* Sets the default max size of a stanza collector before it will delete
|
||||||
* the older packets.
|
* the older packets.
|
||||||
*
|
*
|
||||||
* @param collectorSize the number of packets to queue before deleting older packets.
|
* @param collectorSize the number of packets to queue before deleting older packets.
|
||||||
|
|
|
@ -57,8 +57,8 @@ public class SmackException extends Exception {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exception thrown always when there was no response to an request within the stanza(/packet) reply timeout of the used
|
* Exception thrown always when there was no response to an request within the stanza reply timeout of the used
|
||||||
* connection instance. You can modify (e.g. increase) the stanza(/packet) reply timeout with
|
* connection instance. You can modify (e.g. increase) the stanza reply timeout with
|
||||||
* {@link XMPPConnection#setReplyTimeout(long)}.
|
* {@link XMPPConnection#setReplyTimeout(long)}.
|
||||||
*/
|
*/
|
||||||
public static final class NoResponseException extends SmackException {
|
public static final class NoResponseException extends SmackException {
|
||||||
|
|
|
@ -33,7 +33,7 @@ import org.jivesoftware.smack.packet.Stanza;
|
||||||
* use than a {@link StanzaListener} when you need to wait for a specific
|
* use than a {@link StanzaListener} when you need to wait for a specific
|
||||||
* result.<p>
|
* result.<p>
|
||||||
*
|
*
|
||||||
* Each stanza(/packet) collector will queue up a configured number of packets for processing before
|
* Each stanza collector will queue up a configured number of packets for processing before
|
||||||
* older packets are automatically dropped. The default number is retrieved by
|
* older packets are automatically dropped. The default number is retrieved by
|
||||||
* {@link SmackConfiguration#getStanzaCollectorSize()}.
|
* {@link SmackConfiguration#getStanzaCollectorSize()}.
|
||||||
*
|
*
|
||||||
|
@ -47,7 +47,7 @@ public class StanzaCollector {
|
||||||
private final ArrayBlockingQueue<Stanza> resultQueue;
|
private final ArrayBlockingQueue<Stanza> resultQueue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The stanza(/packet) collector which timeout for the next result will get reset once this collector collects a stanza.
|
* The stanza collector which timeout for the next result will get reset once this collector collects a stanza.
|
||||||
*/
|
*/
|
||||||
private final StanzaCollector collectorToReset;
|
private final StanzaCollector collectorToReset;
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ public class StanzaCollector {
|
||||||
private boolean cancelled = false;
|
private boolean cancelled = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new stanza(/packet) collector. If the stanza(/packet) filter is <tt>null</tt>, then
|
* Creates a new stanza collector. If the stanza filter is <tt>null</tt>, then
|
||||||
* all packets will match this collector.
|
* all packets will match this collector.
|
||||||
*
|
*
|
||||||
* @param connection the connection the collector is tied to.
|
* @param connection the connection the collector is tied to.
|
||||||
|
@ -70,9 +70,9 @@ public class StanzaCollector {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Explicitly cancels the stanza(/packet) collector so that no more results are
|
* Explicitly cancels the stanza collector so that no more results are
|
||||||
* queued up. Once a stanza(/packet) collector has been cancelled, it cannot be
|
* queued up. Once a stanza collector has been cancelled, it cannot be
|
||||||
* re-enabled. Instead, a new stanza(/packet) collector must be created.
|
* re-enabled. Instead, a new stanza collector must be created.
|
||||||
*/
|
*/
|
||||||
public void cancel() {
|
public void cancel() {
|
||||||
// If the packet collector has already been cancelled, do nothing.
|
// If the packet collector has already been cancelled, do nothing.
|
||||||
|
@ -83,10 +83,10 @@ public class StanzaCollector {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the stanza(/packet) filter associated with this stanza(/packet) collector. The packet
|
* Returns the stanza filter associated with this stanza collector. The packet
|
||||||
* filter is used to determine what packets are queued as results.
|
* filter is used to determine what packets are queued as results.
|
||||||
*
|
*
|
||||||
* @return the stanza(/packet) filter.
|
* @return the stanza filter.
|
||||||
* @deprecated use {@link #getStanzaFilter()} instead.
|
* @deprecated use {@link #getStanzaFilter()} instead.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
|
@ -105,12 +105,12 @@ public class StanzaCollector {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Polls to see if a stanza(/packet) is currently available and returns it, or
|
* Polls to see if a stanza is currently available and returns it, or
|
||||||
* immediately returns <tt>null</tt> if no packets are currently in the
|
* immediately returns <tt>null</tt> if no packets are currently in the
|
||||||
* result queue.
|
* result queue.
|
||||||
*
|
*
|
||||||
* @param <P> type of the result stanza.
|
* @param <P> type of the result stanza.
|
||||||
* @return the next stanza(/packet) result, or <tt>null</tt> if there are no more
|
* @return the next stanza result, or <tt>null</tt> if there are no more
|
||||||
* results.
|
* results.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
@ -119,7 +119,7 @@ public class StanzaCollector {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Polls to see if a stanza(/packet) is currently available and returns it, or
|
* Polls to see if a stanza is currently available and returns it, or
|
||||||
* immediately returns <tt>null</tt> if no packets are currently in the
|
* immediately returns <tt>null</tt> if no packets are currently in the
|
||||||
* result queue.
|
* result queue.
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -139,7 +139,7 @@ public class StanzaCollector {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the next available packet. The method call will block (not return) until a stanza(/packet) is
|
* Returns the next available packet. The method call will block (not return) until a stanza is
|
||||||
* available.
|
* available.
|
||||||
*
|
*
|
||||||
* @param <P> type of the result stanza.
|
* @param <P> type of the result stanza.
|
||||||
|
@ -172,7 +172,7 @@ public class StanzaCollector {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the next available packet. The method call will block (not return)
|
* Returns the next available packet. The method call will block (not return)
|
||||||
* until a stanza(/packet) is available or the <tt>timeout</tt> has elapsed. If the
|
* until a stanza is available or the <tt>timeout</tt> has elapsed. If the
|
||||||
* timeout elapses without a result, <tt>null</tt> will be returned.
|
* timeout elapses without a result, <tt>null</tt> will be returned.
|
||||||
*
|
*
|
||||||
* @param <P> type of the result stanza.
|
* @param <P> type of the result stanza.
|
||||||
|
@ -266,7 +266,7 @@ public class StanzaCollector {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the number of collected stanzas this stanza(/packet) collector has collected so far.
|
* Get the number of collected stanzas this stanza collector has collected so far.
|
||||||
*
|
*
|
||||||
* @return the count of collected stanzas.
|
* @return the count of collected stanzas.
|
||||||
* @since 4.1
|
* @since 4.1
|
||||||
|
@ -276,10 +276,10 @@ public class StanzaCollector {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Processes a stanza(/packet) to see if it meets the criteria for this stanza(/packet) collector.
|
* Processes a stanza to see if it meets the criteria for this stanza collector.
|
||||||
* If so, the stanza(/packet) is added to the result queue.
|
* If so, the stanza is added to the result queue.
|
||||||
*
|
*
|
||||||
* @param packet the stanza(/packet) to process.
|
* @param packet the stanza to process.
|
||||||
*/
|
*/
|
||||||
protected void processStanza(Stanza packet) {
|
protected void processStanza(Stanza packet) {
|
||||||
if (packetFilter == null || packetFilter.accept(packet)) {
|
if (packetFilter == null || packetFilter.accept(packet)) {
|
||||||
|
@ -302,9 +302,9 @@ public class StanzaCollector {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a new stanza(/packet) collector configuration instance.
|
* Get a new stanza collector configuration instance.
|
||||||
*
|
*
|
||||||
* @return a new stanza(/packet) collector configuration.
|
* @return a new stanza collector configuration.
|
||||||
*/
|
*/
|
||||||
public static Configuration newConfiguration() {
|
public static Configuration newConfiguration() {
|
||||||
return new Configuration();
|
return new Configuration();
|
||||||
|
@ -319,7 +319,7 @@ public class StanzaCollector {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the stanza(/packet) filter used by this collector. If <code>null</code>, then all packets will
|
* Set the stanza filter used by this collector. If <code>null</code>, then all packets will
|
||||||
* get collected by this collector.
|
* get collected by this collector.
|
||||||
*
|
*
|
||||||
* @param packetFilter
|
* @param packetFilter
|
||||||
|
|
|
@ -23,7 +23,7 @@ import org.jivesoftware.smack.packet.Stanza;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides a mechanism to listen for packets that pass a specified filter.
|
* Provides a mechanism to listen for packets that pass a specified filter.
|
||||||
* This allows event-style programming -- every time a new stanza(/packet) is found,
|
* This allows event-style programming -- every time a new stanza is found,
|
||||||
* the {@link #processStanza(Stanza)} method will be called. This is the
|
* the {@link #processStanza(Stanza)} method will be called. This is the
|
||||||
* opposite approach to the functionality provided by a {@link StanzaCollector}
|
* opposite approach to the functionality provided by a {@link StanzaCollector}
|
||||||
* which lets you block while waiting for results.
|
* which lets you block while waiting for results.
|
||||||
|
@ -40,14 +40,14 @@ import org.jivesoftware.smack.packet.Stanza;
|
||||||
public interface StanzaListener {
|
public interface StanzaListener {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process the next stanza(/packet) sent to this stanza(/packet) listener.
|
* Process the next stanza sent to this stanza listener.
|
||||||
* <p>
|
* <p>
|
||||||
* If this listener is synchronous, then a single thread is responsible for invoking all listeners, so
|
* If this listener is synchronous, then a single thread is responsible for invoking all listeners, so
|
||||||
* it's very important that implementations of this method not block
|
* it's very important that implementations of this method not block
|
||||||
* for any extended period of time.
|
* for any extended period of time.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param packet the stanza(/packet) to process.
|
* @param packet the stanza to process.
|
||||||
* @throws NotConnectedException
|
* @throws NotConnectedException
|
||||||
* @throws InterruptedException
|
* @throws InterruptedException
|
||||||
* @throws NotLoggedInException
|
* @throws NotLoggedInException
|
||||||
|
|
|
@ -207,27 +207,27 @@ public interface XMPPConnection {
|
||||||
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException;
|
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new stanza(/packet) collector collecting packets that are replies to <code>packet</code>.
|
* Creates a new stanza 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
|
* Does also send <code>packet</code>. The stanza filter for the collector is an
|
||||||
* {@link IQReplyFilter}, guaranteeing that stanza(/packet) id and JID in the 'from' address have
|
* {@link IQReplyFilter}, guaranteeing that stanza id and JID in the 'from' address have
|
||||||
* expected values.
|
* expected values.
|
||||||
*
|
*
|
||||||
* @param packet the stanza(/packet) to filter responses from
|
* @param packet the stanza to filter responses from
|
||||||
* @return a new stanza(/packet) collector.
|
* @return a new stanza collector.
|
||||||
* @throws NotConnectedException
|
* @throws NotConnectedException
|
||||||
* @throws InterruptedException
|
* @throws InterruptedException
|
||||||
*/
|
*/
|
||||||
StanzaCollector createStanzaCollectorAndSend(IQ packet) throws NotConnectedException, InterruptedException;
|
StanzaCollector createStanzaCollectorAndSend(IQ packet) throws NotConnectedException, InterruptedException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new stanza(/packet) collector for this connection. A stanza(/packet) filter determines
|
* Creates a new stanza collector for this connection. A stanza filter determines
|
||||||
* which packets will be accumulated by the collector. A StanzaCollector is
|
* which packets will be accumulated by the collector. A StanzaCollector is
|
||||||
* more suitable to use than a {@link StanzaListener} when you need to wait for
|
* more suitable to use than a {@link StanzaListener} when you need to wait for
|
||||||
* a specific result.
|
* a specific result.
|
||||||
*
|
*
|
||||||
* @param packetFilter the stanza(/packet) filter to use.
|
* @param packetFilter the stanza filter to use.
|
||||||
* @param packet the packet to send right after the collector got created
|
* @param packet the packet to send right after the collector got created
|
||||||
* @return a new stanza(/packet) collector.
|
* @return a new stanza collector.
|
||||||
* @throws InterruptedException
|
* @throws InterruptedException
|
||||||
* @throws NotConnectedException
|
* @throws NotConnectedException
|
||||||
*/
|
*/
|
||||||
|
@ -235,7 +235,7 @@ public interface XMPPConnection {
|
||||||
throws NotConnectedException, InterruptedException;
|
throws NotConnectedException, InterruptedException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new stanza(/packet) collector for this connection. A stanza(/packet) filter
|
* Creates a new stanza collector for this connection. A stanza filter
|
||||||
* determines which packets will be accumulated by the collector. A
|
* determines which packets will be accumulated by the collector. A
|
||||||
* StanzaCollector is more suitable to use than a {@link StanzaListener}
|
* StanzaCollector is more suitable to use than a {@link StanzaListener}
|
||||||
* when you need to wait for a specific result.
|
* when you need to wait for a specific result.
|
||||||
|
@ -247,95 +247,95 @@ public interface XMPPConnection {
|
||||||
* if an exception is thrown, or otherwise you may leak the StanzaCollector.
|
* if an exception is thrown, or otherwise you may leak the StanzaCollector.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param packetFilter the stanza(/packet) filter to use.
|
* @param packetFilter the stanza filter to use.
|
||||||
* @return a new stanza(/packet) collector.
|
* @return a new stanza collector.
|
||||||
*/
|
*/
|
||||||
StanzaCollector createStanzaCollector(StanzaFilter packetFilter);
|
StanzaCollector createStanzaCollector(StanzaFilter packetFilter);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new stanza(/packet) collector with the given stanza(/packet) collector configuration.
|
* Create a new stanza collector with the given stanza collector configuration.
|
||||||
* <p>
|
* <p>
|
||||||
* Please make sure to cancel the collector when it is no longer required. See also
|
* Please make sure to cancel the collector when it is no longer required. See also
|
||||||
* {@link #createStanzaCollector(StanzaFilter)}.
|
* {@link #createStanzaCollector(StanzaFilter)}.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param configuration the stanza(/packet) collector configuration.
|
* @param configuration the stanza collector configuration.
|
||||||
* @return a new stanza(/packet) collector.
|
* @return a new stanza collector.
|
||||||
* @since 4.1
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
StanzaCollector createStanzaCollector(StanzaCollector.Configuration configuration);
|
StanzaCollector createStanzaCollector(StanzaCollector.Configuration configuration);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove a stanza(/packet) collector of this connection.
|
* Remove a stanza collector of this connection.
|
||||||
*
|
*
|
||||||
* @param collector a stanza(/packet) collectors which was created for this connection.
|
* @param collector a stanza collectors which was created for this connection.
|
||||||
*/
|
*/
|
||||||
void removeStanzaCollector(StanzaCollector collector);
|
void removeStanzaCollector(StanzaCollector collector);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a <b>synchronous</b> stanza(/packet) listener with this connection. A stanza(/packet) listener will be invoked only when
|
* Registers a <b>synchronous</b> stanza listener with this connection. A stanza 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
|
* an incoming stanza is received. A stanza 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.
|
* the same stanza listener is added again with a different filter, only the new filter will be used.
|
||||||
* <p>
|
* <p>
|
||||||
* <b>Important:</b> This stanza(/packet) listeners will be called in the same <i>single</i> thread that processes all
|
* <b>Important:</b> This stanza 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
|
* incoming stanzas. Only use this kind of stanza filter if it does not perform any XMPP activity that waits for a
|
||||||
* response. Consider using {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} when possible, i.e. when
|
* response. Consider using {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} when possible, i.e. when
|
||||||
* the invocation order doesn't have to be the same as the order of the arriving packets. If the order of the
|
* the invocation order doesn't have to be the same as the order of the arriving packets. If the order of the
|
||||||
* arriving packets, consider using a {@link StanzaCollector} when possible.
|
* arriving packets, consider using a {@link StanzaCollector} when possible.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener to notify of new received packets.
|
* @param packetListener the stanza listener to notify of new received packets.
|
||||||
* @param packetFilter the stanza(/packet) filter to use.
|
* @param packetFilter the stanza filter to use.
|
||||||
* @see #addStanzaInterceptor(StanzaListener, StanzaFilter)
|
* @see #addStanzaInterceptor(StanzaListener, StanzaFilter)
|
||||||
* @since 4.1
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
void addSyncStanzaListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
void addSyncStanzaListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a stanza(/packet) listener for received packets from this connection.
|
* Removes a stanza listener for received packets from this connection.
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener to remove.
|
* @param packetListener the stanza listener to remove.
|
||||||
* @return true if the stanza(/packet) listener was removed
|
* @return true if the stanza listener was removed
|
||||||
* @since 4.1
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
boolean removeSyncStanzaListener(StanzaListener packetListener);
|
boolean removeSyncStanzaListener(StanzaListener packetListener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers an <b>asynchronous</b> stanza(/packet) listener with this connection. A stanza(/packet) listener will be invoked only
|
* Registers an <b>asynchronous</b> stanza listener with this connection. A stanza 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.
|
* when an incoming stanza is received. A stanza 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.
|
* If the same stanza listener is added again with a different filter, only the new filter will be used.
|
||||||
* <p>
|
* <p>
|
||||||
* Unlike {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} stanza(/packet) listeners added with this method will be
|
* Unlike {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)} stanza 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
|
* invoked asynchronously in their own thread. Use this method if the order of the stanza listeners must not depend
|
||||||
* on the order how the stanzas where received.
|
* on the order how the stanzas where received.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener to notify of new received packets.
|
* @param packetListener the stanza listener to notify of new received packets.
|
||||||
* @param packetFilter the stanza(/packet) filter to use.
|
* @param packetFilter the stanza filter to use.
|
||||||
* @see #addStanzaInterceptor(StanzaListener, StanzaFilter)
|
* @see #addStanzaInterceptor(StanzaListener, StanzaFilter)
|
||||||
* @since 4.1
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
void addAsyncStanzaListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
void addAsyncStanzaListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes an <b>asynchronous</b> stanza(/packet) listener for received packets from this connection.
|
* Removes an <b>asynchronous</b> stanza listener for received packets from this connection.
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener to remove.
|
* @param packetListener the stanza listener to remove.
|
||||||
* @return true if the stanza(/packet) listener was removed
|
* @return true if the stanza listener was removed
|
||||||
* @since 4.1
|
* @since 4.1
|
||||||
*/
|
*/
|
||||||
boolean removeAsyncStanzaListener(StanzaListener packetListener);
|
boolean removeAsyncStanzaListener(StanzaListener packetListener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a stanza(/packet) listener with this connection. The listener will be
|
* Registers a stanza listener with this connection. The listener will be
|
||||||
* notified of every stanza(/packet) that this connection sends. A stanza(/packet) filter determines
|
* notified of every stanza that this connection sends. A stanza filter determines
|
||||||
* which packets will be delivered to the listener. Note that the thread
|
* which packets will be delivered to the listener. Note that the thread
|
||||||
* that writes packets will be used to invoke the listeners. Therefore, each
|
* that writes packets will be used to invoke the listeners. Therefore, each
|
||||||
* stanza(/packet) listener should complete all operations quickly or use a different
|
* stanza listener should complete all operations quickly or use a different
|
||||||
* thread for processing.
|
* thread for processing.
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener to notify of sent packets.
|
* @param packetListener the stanza listener to notify of sent packets.
|
||||||
* @param packetFilter the stanza(/packet) filter to use.
|
* @param packetFilter the stanza filter to use.
|
||||||
* @deprecated use {@link #addStanzaSendingListener} instead
|
* @deprecated use {@link #addStanzaSendingListener} instead
|
||||||
*/
|
*/
|
||||||
// TODO Remove in Smack 4.4
|
// TODO Remove in Smack 4.4
|
||||||
|
@ -343,22 +343,22 @@ public interface XMPPConnection {
|
||||||
void addPacketSendingListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
void addPacketSendingListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a stanza(/packet) listener with this connection. The listener will be
|
* Registers a stanza listener with this connection. The listener will be
|
||||||
* notified of every stanza(/packet) that this connection sends. A stanza(/packet) filter determines
|
* notified of every stanza that this connection sends. A stanza filter determines
|
||||||
* which packets will be delivered to the listener. Note that the thread
|
* which packets will be delivered to the listener. Note that the thread
|
||||||
* that writes packets will be used to invoke the listeners. Therefore, each
|
* that writes packets will be used to invoke the listeners. Therefore, each
|
||||||
* stanza(/packet) listener should complete all operations quickly or use a different
|
* stanza listener should complete all operations quickly or use a different
|
||||||
* thread for processing.
|
* thread for processing.
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener to notify of sent packets.
|
* @param packetListener the stanza listener to notify of sent packets.
|
||||||
* @param packetFilter the stanza(/packet) filter to use.
|
* @param packetFilter the stanza filter to use.
|
||||||
*/
|
*/
|
||||||
void addStanzaSendingListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
void addStanzaSendingListener(StanzaListener packetListener, StanzaFilter packetFilter);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a stanza(/packet) listener for sending packets from this connection.
|
* Removes a stanza listener for sending packets from this connection.
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener to remove.
|
* @param packetListener the stanza listener to remove.
|
||||||
* @deprecated use {@link #removeStanzaSendingListener} instead
|
* @deprecated use {@link #removeStanzaSendingListener} instead
|
||||||
*/
|
*/
|
||||||
// TODO Remove in Smack 4.4
|
// TODO Remove in Smack 4.4
|
||||||
|
@ -366,24 +366,24 @@ public interface XMPPConnection {
|
||||||
void removePacketSendingListener(StanzaListener packetListener);
|
void removePacketSendingListener(StanzaListener packetListener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a stanza(/packet) listener for sending packets from this connection.
|
* Removes a stanza listener for sending packets from this connection.
|
||||||
*
|
*
|
||||||
* @param packetListener the stanza(/packet) listener to remove.
|
* @param packetListener the stanza listener to remove.
|
||||||
*/
|
*/
|
||||||
void removeStanzaSendingListener(StanzaListener packetListener);
|
void removeStanzaSendingListener(StanzaListener packetListener);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a stanza(/packet) interceptor with this connection. The interceptor will be
|
* Registers a stanza interceptor with this connection. The interceptor will be
|
||||||
* invoked every time a stanza(/packet) is about to be sent by this connection. Interceptors
|
* invoked every time a stanza is about to be sent by this connection. Interceptors
|
||||||
* may modify the stanza(/packet) to be sent. A stanza(/packet) filter determines which packets
|
* may modify the stanza to be sent. A stanza filter determines which packets
|
||||||
* will be delivered to the interceptor.
|
* will be delivered to the interceptor.
|
||||||
*
|
*
|
||||||
* <p>
|
* <p>
|
||||||
* NOTE: For a similar functionality on incoming packets, see {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)}.
|
* NOTE: For a similar functionality on incoming packets, see {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)}.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param packetInterceptor the stanza(/packet) interceptor to notify of packets about to be sent.
|
* @param packetInterceptor the stanza interceptor to notify of packets about to be sent.
|
||||||
* @param packetFilter the stanza(/packet) filter to use.
|
* @param packetFilter the stanza filter to use.
|
||||||
* @deprecated use {@link #addStanzaInterceptor} instead
|
* @deprecated use {@link #addStanzaInterceptor} instead
|
||||||
*/
|
*/
|
||||||
// TODO Remove in Smack 4.4
|
// TODO Remove in Smack 4.4
|
||||||
|
@ -391,24 +391,24 @@ public interface XMPPConnection {
|
||||||
void addPacketInterceptor(StanzaListener packetInterceptor, StanzaFilter packetFilter);
|
void addPacketInterceptor(StanzaListener packetInterceptor, StanzaFilter packetFilter);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a stanza(/packet) interceptor with this connection. The interceptor will be
|
* Registers a stanza interceptor with this connection. The interceptor will be
|
||||||
* invoked every time a stanza(/packet) is about to be sent by this connection. Interceptors
|
* invoked every time a stanza is about to be sent by this connection. Interceptors
|
||||||
* may modify the stanza(/packet) to be sent. A stanza(/packet) filter determines which packets
|
* may modify the stanza to be sent. A stanza filter determines which packets
|
||||||
* will be delivered to the interceptor.
|
* will be delivered to the interceptor.
|
||||||
*
|
*
|
||||||
* <p>
|
* <p>
|
||||||
* NOTE: For a similar functionality on incoming packets, see {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)}.
|
* NOTE: For a similar functionality on incoming packets, see {@link #addAsyncStanzaListener(StanzaListener, StanzaFilter)}.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param packetInterceptor the stanza(/packet) interceptor to notify of packets about to be sent.
|
* @param packetInterceptor the stanza interceptor to notify of packets about to be sent.
|
||||||
* @param packetFilter the stanza(/packet) filter to use.
|
* @param packetFilter the stanza filter to use.
|
||||||
*/
|
*/
|
||||||
void addStanzaInterceptor(StanzaListener packetInterceptor, StanzaFilter packetFilter);
|
void addStanzaInterceptor(StanzaListener packetInterceptor, StanzaFilter packetFilter);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a stanza(/packet) interceptor.
|
* Removes a stanza interceptor.
|
||||||
*
|
*
|
||||||
* @param packetInterceptor the stanza(/packet) interceptor to remove.
|
* @param packetInterceptor the stanza interceptor to remove.
|
||||||
* @deprecated user {@link #removeStanzaInterceptor} instead
|
* @deprecated user {@link #removeStanzaInterceptor} instead
|
||||||
*/
|
*/
|
||||||
// TODO Remove in Smack 4.4
|
// TODO Remove in Smack 4.4
|
||||||
|
@ -416,9 +416,9 @@ public interface XMPPConnection {
|
||||||
void removePacketInterceptor(StanzaListener packetInterceptor);
|
void removePacketInterceptor(StanzaListener packetInterceptor);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a stanza(/packet) interceptor.
|
* Removes a stanza interceptor.
|
||||||
*
|
*
|
||||||
* @param packetInterceptor the stanza(/packet) interceptor to remove.
|
* @param packetInterceptor the stanza interceptor to remove.
|
||||||
*/
|
*/
|
||||||
void removeStanzaInterceptor(StanzaListener packetInterceptor);
|
void removeStanzaInterceptor(StanzaListener packetInterceptor);
|
||||||
|
|
||||||
|
@ -431,7 +431,7 @@ public interface XMPPConnection {
|
||||||
long getReplyTimeout();
|
long getReplyTimeout();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the stanza(/packet) reply timeout in milliseconds. In most cases, Smack will throw a
|
* Set the stanza reply timeout in milliseconds. In most cases, Smack will throw a
|
||||||
* {@link NoResponseException} if no reply to a request was received within the timeout period.
|
* {@link NoResponseException} if no reply to a request was received within the timeout period.
|
||||||
*
|
*
|
||||||
* @param timeout for a reply in milliseconds
|
* @param timeout for a reply in milliseconds
|
||||||
|
@ -480,13 +480,13 @@ public interface XMPPConnection {
|
||||||
FromMode getFromMode();
|
FromMode getFromMode();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the feature stanza(/packet) extensions for a given stream feature of the
|
* Get the feature stanza extensions for a given stream feature of the
|
||||||
* server, or <code>null</code> if the server doesn't support that feature.
|
* server, or <code>null</code> if the server doesn't support that feature.
|
||||||
*
|
*
|
||||||
* @param <F> {@link ExtensionElement} type of the feature.
|
* @param <F> {@link ExtensionElement} type of the feature.
|
||||||
* @param element
|
* @param element
|
||||||
* @param namespace
|
* @param namespace
|
||||||
* @return a stanza(/packet) extensions of the feature or <code>null</code>
|
* @return a stanza extensions of the feature or <code>null</code>
|
||||||
*/
|
*/
|
||||||
<F extends ExtensionElement> F getFeature(String element, String namespace);
|
<F extends ExtensionElement> F getFeature(String element, String namespace);
|
||||||
|
|
||||||
|
@ -659,9 +659,9 @@ public interface XMPPConnection {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a callback that is called exactly once and synchronously with the incoming stanza that matches the given
|
* Add a callback that is called exactly once and synchronously with the incoming stanza that matches the given
|
||||||
* stanza(/packet) filter.
|
* stanza filter.
|
||||||
*
|
*
|
||||||
* @param callback the callback invoked once the stanza(/packet) filter matches a stanza.
|
* @param callback the callback invoked once the stanza filter matches a stanza.
|
||||||
* @param packetFilter the filter to match stanzas or null to match all.
|
* @param packetFilter the filter to match stanzas or null to match all.
|
||||||
*/
|
*/
|
||||||
void addOneTimeSyncCallback(StanzaListener callback, StanzaFilter packetFilter);
|
void addOneTimeSyncCallback(StanzaListener callback, StanzaFilter packetFilter);
|
||||||
|
|
|
@ -20,7 +20,7 @@ package org.jivesoftware.smack.filter;
|
||||||
import org.jivesoftware.smack.packet.Stanza;
|
import org.jivesoftware.smack.packet.Stanza;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements the logical AND operation over two or more stanza(/packet) filters.
|
* Implements the logical AND operation over two or more stanza filters.
|
||||||
* In other words, packets pass this filter if they pass <b>all</b> of the filters.
|
* In other words, packets pass this filter if they pass <b>all</b> of the filters.
|
||||||
*
|
*
|
||||||
* @author Matt Tucker
|
* @author Matt Tucker
|
||||||
|
|
|
@ -24,7 +24,7 @@ import org.jxmpp.jid.Jid;
|
||||||
* Filter for packets where the "from" field exactly matches a specified JID. If the specified
|
* Filter for packets where the "from" field exactly matches a specified JID. If the specified
|
||||||
* address is a bare JID then the filter will match any address whose bare JID matches the
|
* address is a bare JID then the filter will match any address whose bare JID matches the
|
||||||
* specified JID. But if the specified address is a full JID then the filter will only match
|
* specified JID. But if the specified address is a full JID then the filter will only match
|
||||||
* if the sender of the stanza(/packet) matches the specified resource.
|
* if the sender of the stanza matches the specified resource.
|
||||||
*
|
*
|
||||||
* @author Gaston Dombiak
|
* @author Gaston Dombiak
|
||||||
*/
|
*/
|
||||||
|
@ -37,7 +37,7 @@ public final class FromMatchesFilter extends AbstractFromToMatchesFilter {
|
||||||
* filter address. The second parameter specifies whether the full or the bare addresses are
|
* filter address. The second parameter specifies whether the full or the bare addresses are
|
||||||
* compared.
|
* compared.
|
||||||
*
|
*
|
||||||
* @param address The address to filter for. If <code>null</code> is given, the stanza(/packet) must not
|
* @param address The address to filter for. If <code>null</code> is given, the stanza must not
|
||||||
* have a from address.
|
* have a from address.
|
||||||
* @param ignoreResourcepart
|
* @param ignoreResourcepart
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,7 +30,7 @@ import org.jxmpp.jid.Jid;
|
||||||
/**
|
/**
|
||||||
* Filters for packets which are a valid reply to an IQ request.
|
* Filters for packets which are a valid reply to an IQ request.
|
||||||
* <p>
|
* <p>
|
||||||
* Such a stanza(/packet) must have the same stanza(/packet) id and must be an IQ stanza(/packet) of type
|
* Such a stanza must have the same stanza id and must be an IQ stanza of type
|
||||||
* <code>RESULT</code> or <code>ERROR</code>. Moreover, it is necessary to check
|
* <code>RESULT</code> or <code>ERROR</code>. Moreover, it is necessary to check
|
||||||
* the <code>from</code> address to ignore forged replies.
|
* the <code>from</code> address to ignore forged replies.
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -63,7 +63,7 @@ public class IQReplyFilter implements StanzaFilter {
|
||||||
/**
|
/**
|
||||||
* Filters for packets which are a valid reply to an IQ request.
|
* Filters for packets which are a valid reply to an IQ request.
|
||||||
* <p>
|
* <p>
|
||||||
* Such a stanza(/packet) must have the same stanza(/packet) id and must be an IQ stanza(/packet) of type
|
* Such a stanza must have the same stanza id and must be an IQ stanza of type
|
||||||
* <code>RESULT</code> or <code>ERROR</code>. Moreover, it is necessary to check
|
* <code>RESULT</code> or <code>ERROR</code>. Moreover, it is necessary to check
|
||||||
* the <code>from</code> address to ignore forged replies.
|
* the <code>from</code> address to ignore forged replies.
|
||||||
* <p>
|
* <p>
|
||||||
|
|
|
@ -21,7 +21,7 @@ import org.jivesoftware.smack.packet.IQ.Type;
|
||||||
import org.jivesoftware.smack.util.Objects;
|
import org.jivesoftware.smack.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A filter for IQ stanza(/packet) types. Returns true only if the stanza(/packet) is an IQ packet
|
* A filter for IQ stanza types. Returns true only if the stanza is an IQ packet
|
||||||
* and it matches the type provided in the constructor.
|
* and it matches the type provided in the constructor.
|
||||||
*
|
*
|
||||||
* @author Alexander Wenckus
|
* @author Alexander Wenckus
|
||||||
|
|
|
@ -21,7 +21,7 @@ import org.jivesoftware.smack.packet.Stanza;
|
||||||
import org.jivesoftware.smack.util.Objects;
|
import org.jivesoftware.smack.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements the logical NOT operation on a stanza(/packet) filter. In other words, packets
|
* Implements the logical NOT operation on a stanza filter. In other words, packets
|
||||||
* pass this filter if they do not pass the supplied filter.
|
* pass this filter if they do not pass the supplied filter.
|
||||||
*
|
*
|
||||||
* @author Matt Tucker
|
* @author Matt Tucker
|
||||||
|
|
|
@ -20,7 +20,7 @@ package org.jivesoftware.smack.filter;
|
||||||
import org.jivesoftware.smack.packet.Stanza;
|
import org.jivesoftware.smack.packet.Stanza;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements the logical OR operation over two or more stanza(/packet) filters. In
|
* Implements the logical OR operation over two or more stanza filters. In
|
||||||
* other words, packets pass this filter if they pass <b>any</b> of the filters.
|
* other words, packets pass this filter if they pass <b>any</b> of the filters.
|
||||||
*
|
*
|
||||||
* @author Matt Tucker
|
* @author Matt Tucker
|
||||||
|
|
|
@ -22,7 +22,7 @@ import org.jivesoftware.smack.packet.Stanza;
|
||||||
import org.jivesoftware.smack.util.StringUtils;
|
import org.jivesoftware.smack.util.StringUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filters for packets with a particular type of stanza(/packet) extension.
|
* Filters for packets with a particular type of stanza extension.
|
||||||
*
|
*
|
||||||
* @author Matt Tucker
|
* @author Matt Tucker
|
||||||
* @deprecated use {@link StanzaExtensionFilter} instead.
|
* @deprecated use {@link StanzaExtensionFilter} instead.
|
||||||
|
@ -34,12 +34,12 @@ public class PacketExtensionFilter implements StanzaFilter {
|
||||||
private final String namespace;
|
private final String namespace;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new stanza(/packet) extension filter. Packets will pass the filter if
|
* Creates a new stanza extension filter. Packets will pass the filter if
|
||||||
* they have a stanza(/packet) extension that matches the specified element name
|
* they have a stanza extension that matches the specified element name
|
||||||
* and namespace.
|
* and namespace.
|
||||||
*
|
*
|
||||||
* @param elementName the XML element name of the stanza(/packet) extension.
|
* @param elementName the XML element name of the stanza extension.
|
||||||
* @param namespace the XML namespace of the stanza(/packet) extension.
|
* @param namespace the XML namespace of the stanza extension.
|
||||||
*/
|
*/
|
||||||
public PacketExtensionFilter(String elementName, String namespace) {
|
public PacketExtensionFilter(String elementName, String namespace) {
|
||||||
StringUtils.requireNotNullOrEmpty(namespace, "namespace must not be null or empty");
|
StringUtils.requireNotNullOrEmpty(namespace, "namespace must not be null or empty");
|
||||||
|
@ -49,17 +49,17 @@ public class PacketExtensionFilter implements StanzaFilter {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new stanza(/packet) extension filter. Packets will pass the filter if they have a packet
|
* Creates a new stanza extension filter. Packets will pass the filter if they have a packet
|
||||||
* extension that matches the specified namespace.
|
* extension that matches the specified namespace.
|
||||||
*
|
*
|
||||||
* @param namespace the XML namespace of the stanza(/packet) extension.
|
* @param namespace the XML namespace of the stanza extension.
|
||||||
*/
|
*/
|
||||||
public PacketExtensionFilter(String namespace) {
|
public PacketExtensionFilter(String namespace) {
|
||||||
this(null, namespace);
|
this(null, namespace);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new stanza(/packet) extension filter for the given stanza(/packet) extension.
|
* Creates a new stanza extension filter for the given stanza extension.
|
||||||
*
|
*
|
||||||
* @param packetExtension
|
* @param packetExtension
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -19,24 +19,24 @@ package org.jivesoftware.smack.filter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines a way to filter packets for particular attributes. Stanza(/Packet) filters are used when
|
* 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
|
* constructing stanza listeners or collectors -- the filter defines what packets match the criteria
|
||||||
* of the collector or listener for further stanza(/packet) processing.
|
* of the collector or listener for further stanza processing.
|
||||||
* <p>
|
* <p>
|
||||||
* Several simple filters are pre-defined. These filters can be logically combined for more complex
|
* Several simple filters are pre-defined. These filters can be logically combined for more complex
|
||||||
* stanza(/packet) filtering by using the {@link org.jivesoftware.smack.filter.AndFilter AndFilter} and
|
* stanza filtering by using the {@link org.jivesoftware.smack.filter.AndFilter AndFilter} and
|
||||||
* {@link org.jivesoftware.smack.filter.OrFilter OrFilter} filters. It's also possible to define
|
* {@link org.jivesoftware.smack.filter.OrFilter OrFilter} filters. It's also possible to define
|
||||||
* your own filters by implementing this interface. The code example below creates a trivial filter
|
* your own filters by implementing this interface. The code example below creates a trivial filter
|
||||||
* for packets with a specific ID (real code should use {@link StanzaIdFilter} instead).
|
* for packets with a specific ID (real code should use {@link StanzaIdFilter} instead).
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* // Use an anonymous inner class to define a stanza(/packet) filter that returns
|
* // Use an anonymous inner class to define a stanza filter that returns
|
||||||
* // all packets that have a stanza(/packet) ID of "RS145".
|
* // all packets that have a stanza ID of "RS145".
|
||||||
* PacketFilter myFilter = new PacketFilter() {
|
* PacketFilter myFilter = new PacketFilter() {
|
||||||
* public boolean accept(Packet packet) {
|
* public boolean accept(Packet packet) {
|
||||||
* return "RS145".equals(packet.getStanzaId());
|
* return "RS145".equals(packet.getStanzaId());
|
||||||
* }
|
* }
|
||||||
* };
|
* };
|
||||||
* // Create a new stanza(/packet) collector using the filter we created.
|
* // Create a new stanza collector using the filter we created.
|
||||||
* StanzaCollector myCollector = packetReader.createStanzaCollector(myFilter);
|
* StanzaCollector myCollector = packetReader.createStanzaCollector(myFilter);
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
|
|
@ -21,7 +21,7 @@ import org.jivesoftware.smack.packet.Stanza;
|
||||||
import org.jivesoftware.smack.util.StringUtils;
|
import org.jivesoftware.smack.util.StringUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filters for packets with a particular stanza(/packet) ID.
|
* Filters for packets with a particular stanza ID.
|
||||||
*
|
*
|
||||||
* @author Matt Tucker
|
* @author Matt Tucker
|
||||||
* @deprecated use {@link StanzaIdFilter} instead.
|
* @deprecated use {@link StanzaIdFilter} instead.
|
||||||
|
@ -32,9 +32,9 @@ public class PacketIDFilter implements StanzaFilter {
|
||||||
private final String packetID;
|
private final String packetID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new stanza(/packet) ID filter using the specified packet's ID.
|
* Creates a new stanza ID filter using the specified packet's ID.
|
||||||
*
|
*
|
||||||
* @param packet the stanza(/packet) which the ID is taken from.
|
* @param packet the stanza which the ID is taken from.
|
||||||
* @deprecated use {@link StanzaIdFilter#StanzaIdFilter(Stanza)} instead.
|
* @deprecated use {@link StanzaIdFilter#StanzaIdFilter(Stanza)} instead.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
|
@ -43,9 +43,9 @@ public class PacketIDFilter implements StanzaFilter {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new stanza(/packet) ID filter using the specified stanza(/packet) ID.
|
* Creates a new stanza ID filter using the specified stanza ID.
|
||||||
*
|
*
|
||||||
* @param packetID the stanza(/packet) ID to filter for.
|
* @param packetID the stanza ID to filter for.
|
||||||
* @deprecated use {@link StanzaIdFilter#StanzaIdFilter(Stanza)} instead.
|
* @deprecated use {@link StanzaIdFilter#StanzaIdFilter(Stanza)} instead.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
|
|
|
@ -42,7 +42,7 @@ public class PacketTypeFilter implements StanzaFilter {
|
||||||
private final Class<? extends Stanza> packetType;
|
private final Class<? extends Stanza> packetType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new stanza(/packet) type filter that will filter for packets that are the
|
* Creates a new stanza type filter that will filter for packets that are the
|
||||||
* same type as <tt>packetType</tt>.
|
* same type as <tt>packetType</tt>.
|
||||||
*
|
*
|
||||||
* @param packetType the Class type.
|
* @param packetType the Class type.
|
||||||
|
|
|
@ -21,7 +21,7 @@ import org.jivesoftware.smack.packet.Presence.Type;
|
||||||
import org.jivesoftware.smack.util.Objects;
|
import org.jivesoftware.smack.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A filter for Presence types. Returns true only if the stanza is an Presence stanza(/packet) and it matches the type provided in the
|
* A filter for Presence types. Returns true only if the stanza is an Presence stanza and it matches the type provided in the
|
||||||
* constructor.
|
* constructor.
|
||||||
*/
|
*/
|
||||||
public final class PresenceTypeFilter extends FlexibleStanzaTypeFilter<Presence> {
|
public final class PresenceTypeFilter extends FlexibleStanzaTypeFilter<Presence> {
|
||||||
|
|
|
@ -51,7 +51,7 @@ public interface StanzaFilter {
|
||||||
/**
|
/**
|
||||||
* Tests whether or not the specified stanza should pass the filter.
|
* Tests whether or not the specified stanza should pass the filter.
|
||||||
*
|
*
|
||||||
* @param stanza the stanza(/packet) to test.
|
* @param stanza the stanza to test.
|
||||||
* @return true if and only if <tt>stanza</tt> passes the filter.
|
* @return true if and only if <tt>stanza</tt> passes the filter.
|
||||||
*/
|
*/
|
||||||
boolean accept(Stanza stanza);
|
boolean accept(Stanza stanza);
|
||||||
|
|
|
@ -42,7 +42,7 @@ public final class StanzaTypeFilter implements StanzaFilter {
|
||||||
private final Class<? extends Stanza> packetType;
|
private final Class<? extends Stanza> packetType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new stanza(/packet) type filter that will filter for packets that are the
|
* Creates a new stanza type filter that will filter for packets that are the
|
||||||
* same type as <tt>packetType</tt>.
|
* same type as <tt>packetType</tt>.
|
||||||
*
|
*
|
||||||
* @param packetType the Class type.
|
* @param packetType the Class type.
|
||||||
|
|
|
@ -91,11 +91,11 @@ public class AbstractError {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the first stanza(/packet) extension that matches the specified element name and
|
* Returns the first stanza extension that matches the specified element name and
|
||||||
* namespace, or <tt>null</tt> if it doesn't exist.
|
* namespace, or <tt>null</tt> if it doesn't exist.
|
||||||
*
|
*
|
||||||
* @param elementName the XML element name of the stanza(/packet) extension.
|
* @param elementName the XML element name of the stanza extension.
|
||||||
* @param namespace the XML element namespace of the stanza(/packet) extension.
|
* @param namespace the XML element namespace of the stanza extension.
|
||||||
* @param <PE> type of the ExtensionElement.
|
* @param <PE> type of the ExtensionElement.
|
||||||
* @return the extension, or <tt>null</tt> if it doesn't exist.
|
* @return the extension, or <tt>null</tt> if it doesn't exist.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -21,8 +21,8 @@ import org.jxmpp.jid.EntityFullJid;
|
||||||
import org.jxmpp.jid.parts.Resourcepart;
|
import org.jxmpp.jid.parts.Resourcepart;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IQ stanza(/packet) used by Smack to bind a resource and to obtain the jid assigned by the server.
|
* IQ stanza 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
|
* There are two ways to bind a resource. One is simply sending an empty Bind stanza where the
|
||||||
* server will assign a new resource for this connection. The other option is to set a desired
|
* server will assign a new resource for this connection. The other option is to set a desired
|
||||||
* resource but the server may return a modified version of the sent resource.<p>
|
* resource but the server may return a modified version of the sent resource.<p>
|
||||||
*
|
*
|
||||||
|
|
|
@ -27,7 +27,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||||
/**
|
/**
|
||||||
* Default implementation of the ExtensionElement interface. Unless a ExtensionElementProvider
|
* Default implementation of the ExtensionElement interface. Unless a ExtensionElementProvider
|
||||||
* is registered with {@link org.jivesoftware.smack.provider.ProviderManager ProviderManager},
|
* is registered with {@link org.jivesoftware.smack.provider.ProviderManager ProviderManager},
|
||||||
* instances of this class will be returned when getting stanza(/packet) extensions.<p>
|
* instances of this class will be returned when getting stanza extensions.<p>
|
||||||
*
|
*
|
||||||
* This class provides a very simple representation of an XML sub-document. Each element
|
* This class provides a very simple representation of an XML sub-document. Each element
|
||||||
* is a key in a Map with its CDATA being the value. For example, given the following
|
* is a key in a Map with its CDATA being the value. For example, given the following
|
||||||
|
@ -55,7 +55,7 @@ public class DefaultExtensionElement implements ExtensionElement {
|
||||||
private Map<String,String> map;
|
private Map<String,String> map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new generic stanza(/packet) extension.
|
* Creates a new generic stanza extension.
|
||||||
*
|
*
|
||||||
* @param elementName the name of the element of the XML sub-document.
|
* @param elementName the name of the element of the XML sub-document.
|
||||||
* @param namespace the namespace of the element.
|
* @param namespace the namespace of the element.
|
||||||
|
@ -68,7 +68,7 @@ public class DefaultExtensionElement implements ExtensionElement {
|
||||||
/**
|
/**
|
||||||
* Returns the XML element name of the extension sub-packet root element.
|
* Returns the XML element name of the extension sub-packet root element.
|
||||||
*
|
*
|
||||||
* @return the XML element name of the stanza(/packet) extension.
|
* @return the XML element name of the stanza extension.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getElementName() {
|
public String getElementName() {
|
||||||
|
@ -78,7 +78,7 @@ public class DefaultExtensionElement implements ExtensionElement {
|
||||||
/**
|
/**
|
||||||
* Returns the XML namespace of the extension sub-packet root element.
|
* Returns the XML namespace of the extension sub-packet root element.
|
||||||
*
|
*
|
||||||
* @return the XML namespace of the stanza(/packet) extension.
|
* @return the XML namespace of the stanza extension.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getNamespace() {
|
public String getNamespace() {
|
||||||
|
@ -99,7 +99,7 @@ public class DefaultExtensionElement implements ExtensionElement {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an unmodifiable collection of the names that can be used to get
|
* Returns an unmodifiable collection of the names that can be used to get
|
||||||
* values of the stanza(/packet) extension.
|
* values of the stanza extension.
|
||||||
*
|
*
|
||||||
* @return the names.
|
* @return the names.
|
||||||
*/
|
*/
|
||||||
|
@ -111,7 +111,7 @@ public class DefaultExtensionElement implements ExtensionElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a stanza(/packet) extension value given a name.
|
* Returns a stanza extension value given a name.
|
||||||
*
|
*
|
||||||
* @param name the name.
|
* @param name the name.
|
||||||
* @return the value.
|
* @return the value.
|
||||||
|
@ -124,7 +124,7 @@ public class DefaultExtensionElement implements ExtensionElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets a stanza(/packet) extension value using the given name.
|
* Sets a stanza extension value using the given name.
|
||||||
*
|
*
|
||||||
* @param name the name.
|
* @param name the name.
|
||||||
* @param value the value.
|
* @param value the value.
|
||||||
|
|
|
@ -19,14 +19,14 @@ package org.jivesoftware.smack.packet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface to represent a XML element. This is similar to {@link ExtensionElement}, but does not
|
* Interface to represent a XML element. This is similar to {@link ExtensionElement}, but does not
|
||||||
* carry a namespace and is usually included as child element of an stanza(/packet) extension.
|
* carry a namespace and is usually included as child element of an stanza extension.
|
||||||
*/
|
*/
|
||||||
public interface Element {
|
public interface Element {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the XML representation of this Element.
|
* Returns the XML representation of this Element.
|
||||||
*
|
*
|
||||||
* @return the stanza(/packet) extension as XML.
|
* @return the stanza extension as XML.
|
||||||
*/
|
*/
|
||||||
CharSequence toXML();
|
CharSequence toXML();
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,12 +25,12 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||||
/**
|
/**
|
||||||
* The base IQ (Info/Query) packet. IQ packets are used to get and set information
|
* The base IQ (Info/Query) packet. IQ packets are used to get and set information
|
||||||
* on the server, including authentication, roster operations, and creating
|
* on the server, including authentication, roster operations, and creating
|
||||||
* accounts. Each IQ stanza(/packet) has a specific type that indicates what type of action
|
* accounts. Each IQ stanza has a specific type that indicates what type of action
|
||||||
* is being taken: "get", "set", "result", or "error".<p>
|
* is being taken: "get", "set", "result", or "error".<p>
|
||||||
*
|
*
|
||||||
* IQ packets can contain a single child element that exists in a specific XML
|
* IQ packets can contain a single child element that exists in a specific XML
|
||||||
* namespace. The combination of the element name and namespace determines what
|
* namespace. The combination of the element name and namespace determines what
|
||||||
* type of IQ stanza(/packet) it is. Some example IQ subpacket snippets:<ul>
|
* type of IQ stanza it is. Some example IQ subpacket snippets:<ul>
|
||||||
*
|
*
|
||||||
* <li><query xmlns="jabber:iq:auth"> -- an authentication IQ.
|
* <li><query xmlns="jabber:iq:auth"> -- an authentication IQ.
|
||||||
* <li><query xmlns="jabber:iq:private"> -- a private storage IQ.
|
* <li><query xmlns="jabber:iq:private"> -- a private storage IQ.
|
||||||
|
@ -237,7 +237,7 @@ public abstract class IQ extends Stanza {
|
||||||
/**
|
/**
|
||||||
* Convenience method to create a new empty {@link Type#result IQ.Type.result}
|
* Convenience method to create a new empty {@link Type#result IQ.Type.result}
|
||||||
* IQ based on a {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}
|
* IQ based on a {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}
|
||||||
* IQ. The new stanza(/packet) will be initialized with:<ul>
|
* IQ. The new stanza will be initialized with:<ul>
|
||||||
* <li>The sender set to the recipient of the originating IQ.
|
* <li>The sender set to the recipient of the originating IQ.
|
||||||
* <li>The recipient set to the sender of the originating IQ.
|
* <li>The recipient set to the sender of the originating IQ.
|
||||||
* <li>The type set to {@link Type#result IQ.Type.result}.
|
* <li>The type set to {@link Type#result IQ.Type.result}.
|
||||||
|
@ -246,7 +246,7 @@ public abstract class IQ extends Stanza {
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
* @param request the {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set} IQ packet.
|
* @param request the {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set} IQ packet.
|
||||||
* @throws IllegalArgumentException if the IQ stanza(/packet) does not have a type of
|
* @throws IllegalArgumentException if the IQ stanza does not have a type of
|
||||||
* {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}.
|
* {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}.
|
||||||
* @return a new {@link Type#result IQ.Type.result} IQ based on the originating IQ.
|
* @return a new {@link Type#result IQ.Type.result} IQ based on the originating IQ.
|
||||||
*/
|
*/
|
||||||
|
@ -257,7 +257,7 @@ public abstract class IQ extends Stanza {
|
||||||
/**
|
/**
|
||||||
* Convenience method to create a new {@link Type#error IQ.Type.error} IQ
|
* Convenience method to create a new {@link Type#error IQ.Type.error} IQ
|
||||||
* based on a {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}
|
* based on a {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}
|
||||||
* IQ. The new stanza(/packet) will be initialized with:<ul>
|
* IQ. The new stanza will be initialized with:<ul>
|
||||||
* <li>The sender set to the recipient of the originating IQ.
|
* <li>The sender set to the recipient of the originating IQ.
|
||||||
* <li>The recipient set to the sender of the originating IQ.
|
* <li>The recipient set to the sender of the originating IQ.
|
||||||
* <li>The type set to {@link Type#error IQ.Type.error}.
|
* <li>The type set to {@link Type#error IQ.Type.error}.
|
||||||
|
@ -268,7 +268,7 @@ public abstract class IQ extends Stanza {
|
||||||
*
|
*
|
||||||
* @param request the {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set} IQ packet.
|
* @param request the {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set} IQ packet.
|
||||||
* @param error the error to associate with the created IQ packet.
|
* @param error the error to associate with the created IQ packet.
|
||||||
* @throws IllegalArgumentException if the IQ stanza(/packet) does not have a type of
|
* @throws IllegalArgumentException if the IQ stanza does not have a type of
|
||||||
* {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}.
|
* {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}.
|
||||||
* @return a new {@link Type#error IQ.Type.error} IQ based on the originating IQ.
|
* @return a new {@link Type#error IQ.Type.error} IQ based on the originating IQ.
|
||||||
*/
|
*/
|
||||||
|
@ -294,7 +294,7 @@ public abstract class IQ extends Stanza {
|
||||||
/**
|
/**
|
||||||
* Convenience method to create a new {@link Type#error IQ.Type.error} IQ
|
* Convenience method to create a new {@link Type#error IQ.Type.error} IQ
|
||||||
* based on a {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}
|
* based on a {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}
|
||||||
* IQ. The new stanza(/packet) will be initialized with:<ul>
|
* IQ. The new stanza will be initialized with:<ul>
|
||||||
* <li>The sender set to the recipient of the originating IQ.
|
* <li>The sender set to the recipient of the originating IQ.
|
||||||
* <li>The recipient set to the sender of the originating IQ.
|
* <li>The recipient set to the sender of the originating IQ.
|
||||||
* <li>The type set to {@link Type#error IQ.Type.error}.
|
* <li>The type set to {@link Type#error IQ.Type.error}.
|
||||||
|
@ -305,7 +305,7 @@ public abstract class IQ extends Stanza {
|
||||||
*
|
*
|
||||||
* @param request the {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set} IQ packet.
|
* @param request the {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set} IQ packet.
|
||||||
* @param error the error to associate with the created IQ packet.
|
* @param error the error to associate with the created IQ packet.
|
||||||
* @throws IllegalArgumentException if the IQ stanza(/packet) does not have a type of
|
* @throws IllegalArgumentException if the IQ stanza does not have a type of
|
||||||
* {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}.
|
* {@link Type#get IQ.Type.get} or {@link Type#set IQ.Type.set}.
|
||||||
* @return a new {@link Type#error IQ.Type.error} IQ based on the originating IQ.
|
* @return a new {@link Type#error IQ.Type.error} IQ based on the originating IQ.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -19,7 +19,7 @@ package org.jivesoftware.smack.packet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface to represent a XML element. This is similar to {@link ExtensionElement}, but does not
|
* Interface to represent a XML element. This is similar to {@link ExtensionElement}, but does not
|
||||||
* carry a namespace and is usually included as child element of an stanza(/packet) extension.
|
* carry a namespace and is usually included as child element of an stanza extension.
|
||||||
*/
|
*/
|
||||||
public interface NamedElement extends Element {
|
public interface NamedElement extends Element {
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ public interface Packet extends TopLevelStreamElement {
|
||||||
String getPacketID();
|
String getPacketID();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the unique ID of the packet. To indicate that a stanza(/packet) has no id
|
* Sets the unique ID of the packet. To indicate that a stanza has no id
|
||||||
* pass <code>null</code> as the packet's id value.
|
* pass <code>null</code> as the packet's id value.
|
||||||
*
|
*
|
||||||
* @param id the unique ID for the packet.
|
* @param id the unique ID for the packet.
|
||||||
|
@ -63,39 +63,39 @@ public interface Packet extends TopLevelStreamElement {
|
||||||
void setPacketID(String packetID);
|
void setPacketID(String packetID);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns who the stanza(/packet) is being sent "to", or <tt>null</tt> if
|
* Returns who the stanza is being sent "to", or <tt>null</tt> if
|
||||||
* the value is not set. The XMPP protocol often makes the "to"
|
* the value is not set. The XMPP protocol often makes the "to"
|
||||||
* attribute optional, so it does not always need to be set.<p>
|
* attribute optional, so it does not always need to be set.<p>
|
||||||
*
|
*
|
||||||
* @return who the stanza(/packet) is being sent to, or <tt>null</tt> if the
|
* @return who the stanza is being sent to, or <tt>null</tt> if the
|
||||||
* value has not been set.
|
* value has not been set.
|
||||||
*/
|
*/
|
||||||
String getTo();
|
String getTo();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets who the stanza(/packet) is being sent "to". The XMPP protocol often makes
|
* Sets who the stanza is being sent "to". The XMPP protocol often makes
|
||||||
* the "to" attribute optional, so it does not always need to be set.
|
* the "to" attribute optional, so it does not always need to be set.
|
||||||
*
|
*
|
||||||
* @param to who the stanza(/packet) is being sent to.
|
* @param to who the stanza is being sent to.
|
||||||
*/
|
*/
|
||||||
void setTo(String to);
|
void setTo(String to);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns who the stanza(/packet) is being sent "from" or <tt>null</tt> if
|
* Returns who the stanza is being sent "from" or <tt>null</tt> if
|
||||||
* the value is not set. The XMPP protocol often makes the "from"
|
* the value is not set. The XMPP protocol often makes the "from"
|
||||||
* attribute optional, so it does not always need to be set.<p>
|
* attribute optional, so it does not always need to be set.<p>
|
||||||
*
|
*
|
||||||
* @return who the stanza(/packet) is being sent from, or <tt>null</tt> if the
|
* @return who the stanza is being sent from, or <tt>null</tt> if the
|
||||||
* value has not been set.
|
* value has not been set.
|
||||||
*/
|
*/
|
||||||
String getFrom();
|
String getFrom();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets who the stanza(/packet) is being sent "from". The XMPP protocol often
|
* Sets who the stanza is being sent "from". The XMPP protocol often
|
||||||
* makes the "from" attribute optional, so it does not always need to
|
* makes the "from" attribute optional, so it does not always need to
|
||||||
* be set.
|
* be set.
|
||||||
*
|
*
|
||||||
* @param from who the stanza(/packet) is being sent to.
|
* @param from who the stanza is being sent to.
|
||||||
*/
|
*/
|
||||||
void setFrom(String from);
|
void setFrom(String from);
|
||||||
|
|
||||||
|
@ -128,16 +128,16 @@ public interface Packet extends TopLevelStreamElement {
|
||||||
void setLanguage(String language);
|
void setLanguage(String language);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a copy of the stanza(/packet) extensions attached to the packet.
|
* Returns a copy of the stanza extensions attached to the packet.
|
||||||
*
|
*
|
||||||
* @return the stanza(/packet) extensions.
|
* @return the stanza extensions.
|
||||||
*/
|
*/
|
||||||
List<ExtensionElement> getExtensions();
|
List<ExtensionElement> getExtensions();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a set of all extensions with the given element name <i>and</i> namespace.
|
* Return a set of all extensions with the given element name <i>and</i> namespace.
|
||||||
* <p>
|
* <p>
|
||||||
* Changes to the returned set will update the stanza(/packet) extensions, if the returned set is not the empty set.
|
* Changes to the returned set will update the stanza extensions, if the returned set is not the empty set.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param elementName the element name, must not be null.
|
* @param elementName the element name, must not be null.
|
||||||
|
@ -148,18 +148,18 @@ public interface Packet extends TopLevelStreamElement {
|
||||||
Set<ExtensionElement> getExtensions(String elementName, String namespace);
|
Set<ExtensionElement> getExtensions(String elementName, String namespace);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the first extension of this stanza(/packet) that has the given namespace.
|
* Returns the first extension of this stanza that has the given namespace.
|
||||||
* <p>
|
* <p>
|
||||||
* When possible, use {@link #getExtension(String,String)} instead.
|
* When possible, use {@link #getExtension(String,String)} instead.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param namespace the namespace of the extension that is desired.
|
* @param namespace the namespace of the extension that is desired.
|
||||||
* @return the stanza(/packet) extension with the given namespace.
|
* @return the stanza extension with the given namespace.
|
||||||
*/
|
*/
|
||||||
ExtensionElement getExtension(String namespace);
|
ExtensionElement getExtension(String namespace);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the first stanza(/packet) extension that matches the specified element name and
|
* Returns the first stanza extension that matches the specified element name and
|
||||||
* namespace, or <tt>null</tt> if it doesn't exist. If the provided elementName is null,
|
* namespace, or <tt>null</tt> if it doesn't exist. If the provided elementName is null,
|
||||||
* only the namespace is matched. Stanza(/Packet) extensions are
|
* only the namespace is matched. Stanza(/Packet) extensions are
|
||||||
* are arbitrary XML sub-documents in standard XMPP packets. By default, a
|
* are arbitrary XML sub-documents in standard XMPP packets. By default, a
|
||||||
|
@ -169,60 +169,60 @@ public interface Packet extends TopLevelStreamElement {
|
||||||
* class to handle custom parsing. In that case, the type of the Object
|
* class to handle custom parsing. In that case, the type of the Object
|
||||||
* will be determined by the provider.
|
* will be determined by the provider.
|
||||||
*
|
*
|
||||||
* @param elementName the XML element name of the stanza(/packet) extension. (May be null)
|
* @param elementName the XML element name of the stanza extension. (May be null)
|
||||||
* @param namespace the XML element namespace of the stanza(/packet) extension.
|
* @param namespace the XML element namespace of the stanza extension.
|
||||||
* @param <PE> type of the ExtensionElement.
|
* @param <PE> type of the ExtensionElement.
|
||||||
* @return the extension, or <tt>null</tt> if it doesn't exist.
|
* @return the extension, or <tt>null</tt> if it doesn't exist.
|
||||||
*/
|
*/
|
||||||
<PE extends ExtensionElement> PE getExtension(String elementName, String namespace);
|
<PE extends ExtensionElement> PE getExtension(String elementName, String namespace);
|
||||||
/**
|
/**
|
||||||
* Adds a stanza(/packet) extension to the packet. Does nothing if extension is null.
|
* Adds a stanza extension to the packet. Does nothing if extension is null.
|
||||||
*
|
*
|
||||||
* @param extension a stanza(/packet) extension.
|
* @param extension a stanza extension.
|
||||||
*/
|
*/
|
||||||
void addExtension(ExtensionElement extension);
|
void addExtension(ExtensionElement extension);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a collection of stanza(/packet) extensions to the packet. Does nothing if extensions is null.
|
* Adds a collection of stanza extensions to the packet. Does nothing if extensions is null.
|
||||||
*
|
*
|
||||||
* @param extensions a collection of stanza(/packet) extensions
|
* @param extensions a collection of stanza extensions
|
||||||
*/
|
*/
|
||||||
void addExtensions(Collection<ExtensionElement> extensions);
|
void addExtensions(Collection<ExtensionElement> extensions);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a stanza(/packet) extension with the given element and namespace exists.
|
* Check if a stanza extension with the given element and namespace exists.
|
||||||
* <p>
|
* <p>
|
||||||
* The argument <code>elementName</code> may be null.
|
* The argument <code>elementName</code> may be null.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param elementName
|
* @param elementName
|
||||||
* @param namespace
|
* @param namespace
|
||||||
* @return true if a stanza(/packet) extension exists, false otherwise.
|
* @return true if a stanza extension exists, false otherwise.
|
||||||
*/
|
*/
|
||||||
boolean hasExtension(String elementName, String namespace);
|
boolean hasExtension(String elementName, String namespace);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a stanza(/packet) extension with the given namespace exists.
|
* Check if a stanza extension with the given namespace exists.
|
||||||
*
|
*
|
||||||
* @param namespace
|
* @param namespace
|
||||||
* @return true if a stanza(/packet) extension exists, false otherwise.
|
* @return true if a stanza extension exists, false otherwise.
|
||||||
*/
|
*/
|
||||||
boolean hasExtension(String namespace);
|
boolean hasExtension(String namespace);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove the stanza(/packet) extension with the given elementName and namespace.
|
* Remove the stanza extension with the given elementName and namespace.
|
||||||
*
|
*
|
||||||
* @param elementName
|
* @param elementName
|
||||||
* @param namespace
|
* @param namespace
|
||||||
* @return the removed stanza(/packet) extension or null.
|
* @return the removed stanza extension or null.
|
||||||
*/
|
*/
|
||||||
ExtensionElement removeExtension(String elementName, String namespace);
|
ExtensionElement removeExtension(String elementName, String namespace);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a stanza(/packet) extension from the packet.
|
* Removes a stanza extension from the packet.
|
||||||
*
|
*
|
||||||
* @param extension the stanza(/packet) extension to remove.
|
* @param extension the stanza extension to remove.
|
||||||
* @return the removed stanza(/packet) extension or null.
|
* @return the removed stanza extension or null.
|
||||||
*/
|
*/
|
||||||
ExtensionElement removeExtension(ExtensionElement extension);
|
ExtensionElement removeExtension(ExtensionElement extension);
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||||
import org.jxmpp.jid.Jid;
|
import org.jxmpp.jid.Jid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents XMPP presence packets. Every presence stanza(/packet) has a type, which is one of
|
* Represents XMPP presence packets. Every presence stanza has a type, which is one of
|
||||||
* the following values:
|
* the following values:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>{@link Presence.Type#available available} -- (Default) indicates the user is available to
|
* <li>{@link Presence.Type#available available} -- (Default) indicates the user is available to
|
||||||
|
@ -40,7 +40,7 @@ import org.jxmpp.jid.Jid;
|
||||||
* sender's presence.
|
* sender's presence.
|
||||||
* <li>{@link Presence.Type#unsubscribed unsubscribed} -- grant removal of subscription to
|
* <li>{@link Presence.Type#unsubscribed unsubscribed} -- grant removal of subscription to
|
||||||
* sender's presence.
|
* sender's presence.
|
||||||
* <li>{@link Presence.Type#error error} -- the presence stanza(/packet) contains an error message.
|
* <li>{@link Presence.Type#error error} -- the presence stanza contains an error message.
|
||||||
* </ul><p>
|
* </ul><p>
|
||||||
*
|
*
|
||||||
* A number of attributes are optional:
|
* A number of attributes are optional:
|
||||||
|
@ -363,7 +363,7 @@ public final class Presence extends Stanza implements TypedCloneable<Presence> {
|
||||||
unsubscribed,
|
unsubscribed,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The presence stanza(/packet) contains an error message.
|
* The presence stanza contains an error message.
|
||||||
*/
|
*/
|
||||||
error,
|
error,
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ package org.jivesoftware.smack.packet;
|
||||||
import org.jivesoftware.smack.util.XmlStringBuilder;
|
import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IQ stanza(/packet) that will be sent to the server to establish a session.<p>
|
* IQ stanza that will be sent to the server to establish a session.<p>
|
||||||
*
|
*
|
||||||
* If a server supports sessions, it MUST include a <i>session</i> element in the
|
* If a server supports sessions, it MUST include a <i>session</i> element in the
|
||||||
* stream features it advertises to a client after the completion of stream authentication.
|
* stream features it advertises to a client after the completion of stream authentication.
|
||||||
|
|
|
@ -115,7 +115,7 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the unique ID of the packet. To indicate that a stanza(/packet) has no id
|
* Sets the unique ID of the packet. To indicate that a stanza has no id
|
||||||
* pass <code>null</code> as the packet's id value.
|
* pass <code>null</code> as the packet's id value.
|
||||||
*
|
*
|
||||||
* @param id the unique ID for the packet.
|
* @param id the unique ID for the packet.
|
||||||
|
@ -163,11 +163,11 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns who the stanza(/packet) is being sent "to", or <tt>null</tt> if
|
* Returns who the stanza is being sent "to", or <tt>null</tt> if
|
||||||
* the value is not set. The XMPP protocol often makes the "to"
|
* the value is not set. The XMPP protocol often makes the "to"
|
||||||
* attribute optional, so it does not always need to be set.<p>
|
* attribute optional, so it does not always need to be set.<p>
|
||||||
*
|
*
|
||||||
* @return who the stanza(/packet) is being sent to, or <tt>null</tt> if the
|
* @return who the stanza is being sent to, or <tt>null</tt> if the
|
||||||
* value has not been set.
|
* value has not been set.
|
||||||
*/
|
*/
|
||||||
public Jid getTo() {
|
public Jid getTo() {
|
||||||
|
@ -175,10 +175,10 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets who the stanza(/packet) is being sent "to". The XMPP protocol often makes
|
* Sets who the stanza is being sent "to". The XMPP protocol often makes
|
||||||
* the "to" attribute optional, so it does not always need to be set.
|
* the "to" attribute optional, so it does not always need to be set.
|
||||||
*
|
*
|
||||||
* @param to who the stanza(/packet) is being sent to.
|
* @param to who the stanza is being sent to.
|
||||||
* @throws IllegalArgumentException if to is not a valid JID String.
|
* @throws IllegalArgumentException if to is not a valid JID String.
|
||||||
* @deprecated use {@link #setTo(Jid)} instead.
|
* @deprecated use {@link #setTo(Jid)} instead.
|
||||||
*/
|
*/
|
||||||
|
@ -205,11 +205,11 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns who the stanza(/packet) is being sent "from" or <tt>null</tt> if
|
* Returns who the stanza is being sent "from" or <tt>null</tt> if
|
||||||
* the value is not set. The XMPP protocol often makes the "from"
|
* the value is not set. The XMPP protocol often makes the "from"
|
||||||
* attribute optional, so it does not always need to be set.<p>
|
* attribute optional, so it does not always need to be set.<p>
|
||||||
*
|
*
|
||||||
* @return who the stanza(/packet) is being sent from, or <tt>null</tt> if the
|
* @return who the stanza is being sent from, or <tt>null</tt> if the
|
||||||
* value has not been set.
|
* value has not been set.
|
||||||
*/
|
*/
|
||||||
public Jid getFrom() {
|
public Jid getFrom() {
|
||||||
|
@ -217,11 +217,11 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets who the stanza(/packet) is being sent "from". The XMPP protocol often
|
* Sets who the stanza is being sent "from". The XMPP protocol often
|
||||||
* makes the "from" attribute optional, so it does not always need to
|
* makes the "from" attribute optional, so it does not always need to
|
||||||
* be set.
|
* be set.
|
||||||
*
|
*
|
||||||
* @param from who the stanza(/packet) is being sent to.
|
* @param from who the stanza is being sent to.
|
||||||
* @throws IllegalArgumentException if from is not a valid JID String.
|
* @throws IllegalArgumentException if from is not a valid JID String.
|
||||||
* @deprecated use {@link #setFrom(Jid)} instead.
|
* @deprecated use {@link #setFrom(Jid)} instead.
|
||||||
*/
|
*/
|
||||||
|
@ -315,7 +315,7 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
/**
|
/**
|
||||||
* Return a list of all extensions with the given element name <em>and</em> namespace.
|
* Return a list of all extensions with the given element name <em>and</em> namespace.
|
||||||
* <p>
|
* <p>
|
||||||
* Changes to the returned set will update the stanza(/packet) extensions, if the returned set is not the empty set.
|
* Changes to the returned set will update the stanza extensions, if the returned set is not the empty set.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param elementName the element name, must not be null.
|
* @param elementName the element name, must not be null.
|
||||||
|
@ -331,13 +331,13 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the first extension of this stanza(/packet) that has the given namespace.
|
* Returns the first extension of this stanza that has the given namespace.
|
||||||
* <p>
|
* <p>
|
||||||
* When possible, use {@link #getExtension(String,String)} instead.
|
* When possible, use {@link #getExtension(String,String)} instead.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param namespace the namespace of the extension that is desired.
|
* @param namespace the namespace of the extension that is desired.
|
||||||
* @return the stanza(/packet) extension with the given namespace.
|
* @return the stanza extension with the given namespace.
|
||||||
*/
|
*/
|
||||||
public ExtensionElement getExtension(String namespace) {
|
public ExtensionElement getExtension(String namespace) {
|
||||||
return PacketUtil.extensionElementFrom(getExtensions(), null, namespace);
|
return PacketUtil.extensionElementFrom(getExtensions(), null, namespace);
|
||||||
|
@ -371,9 +371,9 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a stanza(/packet) extension to the packet. Does nothing if extension is null.
|
* Adds a stanza extension to the packet. Does nothing if extension is null.
|
||||||
*
|
*
|
||||||
* @param extension a stanza(/packet) extension.
|
* @param extension a stanza extension.
|
||||||
*/
|
*/
|
||||||
public void addExtension(ExtensionElement extension) {
|
public void addExtension(ExtensionElement extension) {
|
||||||
if (extension == null) return;
|
if (extension == null) return;
|
||||||
|
@ -401,9 +401,9 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a collection of stanza(/packet) extensions to the packet. Does nothing if extensions is null.
|
* Adds a collection of stanza extensions to the packet. Does nothing if extensions is null.
|
||||||
*
|
*
|
||||||
* @param extensions a collection of stanza(/packet) extensions
|
* @param extensions a collection of stanza extensions
|
||||||
*/
|
*/
|
||||||
public void addExtensions(Collection<ExtensionElement> extensions) {
|
public void addExtensions(Collection<ExtensionElement> extensions) {
|
||||||
if (extensions == null) return;
|
if (extensions == null) return;
|
||||||
|
@ -413,14 +413,14 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a stanza(/packet) extension with the given element and namespace exists.
|
* Check if a stanza extension with the given element and namespace exists.
|
||||||
* <p>
|
* <p>
|
||||||
* The argument <code>elementName</code> may be null.
|
* The argument <code>elementName</code> may be null.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param elementName
|
* @param elementName
|
||||||
* @param namespace
|
* @param namespace
|
||||||
* @return true if a stanza(/packet) extension exists, false otherwise.
|
* @return true if a stanza extension exists, false otherwise.
|
||||||
*/
|
*/
|
||||||
public boolean hasExtension(String elementName, String namespace) {
|
public boolean hasExtension(String elementName, String namespace) {
|
||||||
if (elementName == null) {
|
if (elementName == null) {
|
||||||
|
@ -433,10 +433,10 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a stanza(/packet) extension with the given namespace exists.
|
* Check if a stanza extension with the given namespace exists.
|
||||||
*
|
*
|
||||||
* @param namespace
|
* @param namespace
|
||||||
* @return true if a stanza(/packet) extension exists, false otherwise.
|
* @return true if a stanza extension exists, false otherwise.
|
||||||
*/
|
*/
|
||||||
public boolean hasExtension(String namespace) {
|
public boolean hasExtension(String namespace) {
|
||||||
synchronized (packetExtensions) {
|
synchronized (packetExtensions) {
|
||||||
|
@ -450,11 +450,11 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove the stanza(/packet) extension with the given elementName and namespace.
|
* Remove the stanza extension with the given elementName and namespace.
|
||||||
*
|
*
|
||||||
* @param elementName
|
* @param elementName
|
||||||
* @param namespace
|
* @param namespace
|
||||||
* @return the removed stanza(/packet) extension or null.
|
* @return the removed stanza extension or null.
|
||||||
*/
|
*/
|
||||||
public ExtensionElement removeExtension(String elementName, String namespace) {
|
public ExtensionElement removeExtension(String elementName, String namespace) {
|
||||||
String key = XmppStringUtils.generateKey(elementName, namespace);
|
String key = XmppStringUtils.generateKey(elementName, namespace);
|
||||||
|
@ -464,10 +464,10 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a stanza(/packet) extension from the packet.
|
* Removes a stanza extension from the packet.
|
||||||
*
|
*
|
||||||
* @param extension the stanza(/packet) extension to remove.
|
* @param extension the stanza extension to remove.
|
||||||
* @return the removed stanza(/packet) extension or null.
|
* @return the removed stanza extension or null.
|
||||||
*/
|
*/
|
||||||
public ExtensionElement removeExtension(ExtensionElement extension) {
|
public ExtensionElement removeExtension(ExtensionElement extension) {
|
||||||
return removeExtension(extension.getElementName(), extension.getNamespace());
|
return removeExtension(extension.getElementName(), extension.getNamespace());
|
||||||
|
@ -481,10 +481,10 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the extension sub-packets (including properties data) as an XML
|
* Returns the extension sub-packets (including properties data) as an XML
|
||||||
* String, or the Empty String if there are no stanza(/packet) extensions.
|
* String, or the Empty String if there are no stanza extensions.
|
||||||
*
|
*
|
||||||
* @return the extension sub-packets as XML or the Empty String if there
|
* @return the extension sub-packets as XML or the Empty String if there
|
||||||
* are no stanza(/packet) extensions.
|
* are no stanza extensions.
|
||||||
*/
|
*/
|
||||||
protected final XmlStringBuilder getExtensionsXML() {
|
protected final XmlStringBuilder getExtensionsXML() {
|
||||||
XmlStringBuilder xml = new XmlStringBuilder();
|
XmlStringBuilder xml = new XmlStringBuilder();
|
||||||
|
@ -529,7 +529,7 @@ public abstract class Stanza implements TopLevelStreamElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Append an XMPPError is this stanza(/packet) has one set.
|
* Append an XMPPError is this stanza has one set.
|
||||||
*
|
*
|
||||||
* @param xml the XmlStringBuilder to append the error to.
|
* @param xml the XmlStringBuilder to append the error to.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -28,7 +28,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents an XMPP error sub-packet. Typically, a server responds to a request that has
|
* Represents an XMPP error sub-packet. Typically, a server responds to a request that has
|
||||||
* problems by sending the stanza(/packet) back and including an error packet. Each error has a type,
|
* problems by sending the stanza back and including an error packet. Each error has a type,
|
||||||
* error condition as well as as an optional text explanation. Typical errors are:<p>
|
* error condition as well as as an optional text explanation. Typical errors are:<p>
|
||||||
*
|
*
|
||||||
* <table border=1>
|
* <table border=1>
|
||||||
|
@ -113,7 +113,7 @@ public class XMPPError extends AbstractError {
|
||||||
* @param conditionText
|
* @param conditionText
|
||||||
* @param errorGenerator
|
* @param errorGenerator
|
||||||
* @param descriptiveTexts
|
* @param descriptiveTexts
|
||||||
* @param extensions list of stanza(/packet) extensions
|
* @param extensions list of stanza extensions
|
||||||
* @param stanza the stanza carrying this XMPP error.
|
* @param stanza the stanza carrying this XMPP error.
|
||||||
*/
|
*/
|
||||||
public XMPPError(Condition condition, String conditionText, String errorGenerator, Type type, Map<String, String> descriptiveTexts,
|
public XMPPError(Condition condition, String conditionText, String errorGenerator, Type type, Map<String, String> descriptiveTexts,
|
||||||
|
|
|
@ -19,7 +19,7 @@ package org.jivesoftware.smack.provider;
|
||||||
import org.jivesoftware.smack.packet.ExtensionElement;
|
import org.jivesoftware.smack.packet.ExtensionElement;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines the information required to register a stanza(/packet) extension Provider with the {@link ProviderManager} when using the
|
* Defines the information required to register a stanza extension Provider with the {@link ProviderManager} when using the
|
||||||
* {@link ProviderLoader}.
|
* {@link ProviderLoader}.
|
||||||
*
|
*
|
||||||
* @author Robin Collier
|
* @author Robin Collier
|
||||||
|
|
|
@ -65,7 +65,7 @@ import org.jxmpp.util.XmppStringUtils;
|
||||||
* interface, or extend the IQ class. In the former case, each IQProvider is responsible for
|
* interface, or extend the IQ class. In the former case, each IQProvider is responsible for
|
||||||
* parsing the raw XML stream to create an IQ instance. In the latter case, bean introspection
|
* parsing the raw XML stream to create an IQ instance. In the latter case, bean introspection
|
||||||
* is used to try to automatically set properties of the IQ instance using the values found
|
* is used to try to automatically set properties of the IQ instance using the values found
|
||||||
* in the IQ stanza(/packet) XML. For example, an XMPP time stanza(/packet) resembles the following:
|
* in the IQ stanza XML. For example, an XMPP time stanza resembles the following:
|
||||||
* <pre>
|
* <pre>
|
||||||
* <iq type='result' to='joe@example.com' from='mary@example.com' id='time_1'>
|
* <iq type='result' to='joe@example.com' from='mary@example.com' id='time_1'>
|
||||||
* <query xmlns='jabber:iq:time'>
|
* <query xmlns='jabber:iq:time'>
|
||||||
|
@ -75,13 +75,13 @@ import org.jxmpp.util.XmppStringUtils;
|
||||||
* </query>
|
* </query>
|
||||||
* </iq></pre>
|
* </iq></pre>
|
||||||
*
|
*
|
||||||
* In order for this stanza(/packet) to be automatically mapped to the Time object listed in the
|
* In order for this stanza to be automatically mapped to the Time object listed in the
|
||||||
* providers file above, it must have the methods setUtc(String), setTz(String), and
|
* providers file above, it must have the methods setUtc(String), setTz(String), and
|
||||||
* setDisplay(String). The introspection service will automatically try to convert the String
|
* setDisplay(String). The introspection service will automatically try to convert the String
|
||||||
* value from the XML into a boolean, int, long, float, double, or Class depending on the
|
* value from the XML into a boolean, int, long, float, double, or Class depending on the
|
||||||
* type the IQ instance expects.<p>
|
* type the IQ instance expects.<p>
|
||||||
*
|
*
|
||||||
* A pluggable system for stanza(/packet) extensions, child elements in a custom namespace for
|
* A pluggable system for stanza extensions, child elements in a custom namespace for
|
||||||
* message and presence packets, also exists. Each extension provider
|
* message and presence packets, also exists. Each extension provider
|
||||||
* is registered with a name space in the smack.providers file as in the following example:
|
* is registered with a name space in the smack.providers file as in the following example:
|
||||||
*
|
*
|
||||||
|
@ -96,12 +96,12 @@ import org.jxmpp.util.XmppStringUtils;
|
||||||
* </smackProviders></pre>
|
* </smackProviders></pre>
|
||||||
*
|
*
|
||||||
* If multiple provider entries attempt to register to handle the same element name and namespace,
|
* If multiple provider entries attempt to register to handle the same element name and namespace,
|
||||||
* the first entry loaded from the classpath will take precedence. Whenever a stanza(/packet) extension
|
* the first entry loaded from the classpath will take precedence. Whenever a stanza extension
|
||||||
* is found in a packet, parsing will be passed to the correct provider. Each provider
|
* is found in a packet, parsing will be passed to the correct provider. Each provider
|
||||||
* can either implement the PacketExtensionProvider interface or be a standard Java Bean. In
|
* can either implement the PacketExtensionProvider interface or be a standard Java Bean. In
|
||||||
* the former case, each extension provider is responsible for parsing the raw XML stream to
|
* the former case, each extension provider is responsible for parsing the raw XML stream to
|
||||||
* construct an object. In the latter case, bean introspection is used to try to automatically
|
* construct 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 stanza(/packet) extension sub-element. When an
|
* set the properties of th class using the values in the stanza extension sub-element. When an
|
||||||
* extension provider is not registered for an element name and namespace combination, Smack will
|
* extension provider is not registered for an element name and namespace combination, Smack will
|
||||||
* store all top-level elements of the sub-packet in DefaultPacketExtension object and then
|
* store all top-level elements of the sub-packet in DefaultPacketExtension object and then
|
||||||
* attach it to the packet.<p>
|
* attach it to the packet.<p>
|
||||||
|
@ -147,7 +147,7 @@ public final class ProviderManager {
|
||||||
/**
|
/**
|
||||||
* Returns the IQ provider registered to the specified XML element name and namespace.
|
* Returns the IQ provider registered to the specified XML element name and namespace.
|
||||||
* For example, if a provider was registered to the element name "query" and the
|
* For example, if a provider was registered to the element name "query" and the
|
||||||
* namespace "jabber:iq:time", then the following stanza(/packet) would trigger the provider:
|
* namespace "jabber:iq:time", then the following stanza would trigger the provider:
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* <iq type='result' to='joe@example.com' from='mary@example.com' id='time_1'>
|
* <iq type='result' to='joe@example.com' from='mary@example.com' id='time_1'>
|
||||||
|
@ -221,9 +221,9 @@ public final class ProviderManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the stanza(/packet) extension provider registered to the specified XML element name
|
* Returns the stanza extension provider registered to the specified XML element name
|
||||||
* and namespace. For example, if a provider was registered to the element name "x" and the
|
* and namespace. For example, if a provider was registered to the element name "x" and the
|
||||||
* namespace "jabber:x:event", then the following stanza(/packet) would trigger the provider:
|
* namespace "jabber:x:event", then the following stanza would trigger the provider:
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* <message to='romeo@montague.net' id='message_1'>
|
* <message to='romeo@montague.net' id='message_1'>
|
||||||
|
@ -274,7 +274,7 @@ public final class ProviderManager {
|
||||||
*
|
*
|
||||||
* @param elementName the XML element name.
|
* @param elementName the XML element name.
|
||||||
* @param namespace the XML namespace.
|
* @param namespace the XML namespace.
|
||||||
* @return the key of the removed stanza(/packet) extension provider
|
* @return the key of the removed stanza extension provider
|
||||||
*/
|
*/
|
||||||
public static String removeExtensionProvider(String elementName, String namespace) {
|
public static String removeExtensionProvider(String elementName, String namespace) {
|
||||||
String key = getKey(elementName, namespace);
|
String key = getKey(elementName, namespace);
|
||||||
|
|
|
@ -140,7 +140,7 @@ public class PacketParserUtils {
|
||||||
* connection is optional and is used to return feature-not-implemented errors for unknown IQ stanzas.
|
* connection is optional and is used to return feature-not-implemented errors for unknown IQ stanzas.
|
||||||
*
|
*
|
||||||
* @param parser
|
* @param parser
|
||||||
* @return a stanza(/packet) which is either a Message, IQ or Presence.
|
* @return a stanza which is either a Message, IQ or Presence.
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public static Stanza parseStanza(XmlPullParser parser) throws Exception {
|
public static Stanza parseStanza(XmlPullParser parser) throws Exception {
|
||||||
|
@ -903,7 +903,7 @@ public class PacketParserUtils {
|
||||||
* Parses an extension element.
|
* Parses an extension element.
|
||||||
*
|
*
|
||||||
* @param elementName the XML element name of the extension element.
|
* @param elementName the XML element name of the extension element.
|
||||||
* @param namespace the XML namespace of the stanza(/packet) extension.
|
* @param namespace the XML namespace of the stanza extension.
|
||||||
* @param parser the XML parser, positioned at the starting element of the extension.
|
* @param parser the XML parser, positioned at the starting element of the extension.
|
||||||
*
|
*
|
||||||
* @return an extension element.
|
* @return an extension element.
|
||||||
|
@ -920,7 +920,7 @@ public class PacketParserUtils {
|
||||||
* Parses an extension element.
|
* Parses an extension element.
|
||||||
*
|
*
|
||||||
* @param elementName the XML element name of the extension element.
|
* @param elementName the XML element name of the extension element.
|
||||||
* @param namespace the XML namespace of the stanza(/packet) extension.
|
* @param namespace the XML namespace of the stanza extension.
|
||||||
* @param parser the XML parser, positioned at the starting element of the extension.
|
* @param parser the XML parser, positioned at the starting element of the extension.
|
||||||
*
|
*
|
||||||
* @return an extension element.
|
* @return an extension element.
|
||||||
|
|
|
@ -46,7 +46,7 @@ import org.jxmpp.stringprep.XmppStringprepException;
|
||||||
*
|
*
|
||||||
* Packets that should be processed by the client to simulate a received stanza
|
* Packets that should be processed by the client to simulate a received stanza
|
||||||
* can be delivered using the {@linkplain #processStanza(Stanza)} method.
|
* can be delivered using the {@linkplain #processStanza(Stanza)} method.
|
||||||
* It invokes the registered stanza(/packet) interceptors and listeners.
|
* It invokes the registered stanza interceptors and listeners.
|
||||||
*
|
*
|
||||||
* @see XMPPConnection
|
* @see XMPPConnection
|
||||||
* @author Guenther Niess
|
* @author Guenther Niess
|
||||||
|
@ -147,7 +147,7 @@ public class DummyConnection extends AbstractXMPPConnection {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the first stanza(/packet) that's sent through {@link #sendStanza(Stanza)}
|
* Returns the first stanza that's sent through {@link #sendStanza(Stanza)}
|
||||||
* and that has not been returned by earlier calls to this method.
|
* and that has not been returned by earlier calls to this method.
|
||||||
*
|
*
|
||||||
* @return a sent packet.
|
* @return a sent packet.
|
||||||
|
@ -157,7 +157,7 @@ public class DummyConnection extends AbstractXMPPConnection {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the first stanza(/packet) that's sent through {@link #sendStanza(Stanza)}
|
* Returns the first stanza that's sent through {@link #sendStanza(Stanza)}
|
||||||
* and that has not been returned by earlier calls to this method. This
|
* and that has not been returned by earlier calls to this method. This
|
||||||
* method will block for up to the specified number of seconds if no packets
|
* method will block for up to the specified number of seconds if no packets
|
||||||
* have been sent yet.
|
* have been sent yet.
|
||||||
|
@ -175,11 +175,11 @@ public class DummyConnection extends AbstractXMPPConnection {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Processes a stanza(/packet) through the installed stanza(/packet) collectors and listeners
|
* Processes a stanza through the installed stanza collectors and listeners
|
||||||
* and letting them examine the stanza(/packet) to see if they are a match with the
|
* and letting them examine the stanza to see if they are a match with the
|
||||||
* filter.
|
* filter.
|
||||||
*
|
*
|
||||||
* @param packet the stanza(/packet) to process.
|
* @param packet the stanza to process.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void processStanza(Stanza packet) {
|
public void processStanza(Stanza packet) {
|
||||||
|
|
|
@ -67,8 +67,8 @@ public class ThreadedDummyConnection extends DummyConnection {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calling this method will cause the next sendStanza call with an IQ stanza(/packet) to timeout.
|
* Calling this method will cause the next sendStanza call with an IQ stanza to timeout.
|
||||||
* This is accomplished by simply stopping the auto creating of the reply stanza(/packet)
|
* This is accomplished by simply stopping the auto creating of the reply stanza
|
||||||
* or processing one that was entered via {@link #processStanza(Stanza)}.
|
* or processing one that was entered via {@link #processStanza(Stanza)}.
|
||||||
*/
|
*/
|
||||||
public void setTimeout() {
|
public void setTimeout() {
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../../../../../../../../smack-debug/src/main/java/org/jivesoftware/smackx/debugger/package-info.java
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Copyright 2015 Florian Schmaus
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Smack optional Debuggers.
|
||||||
|
*/
|
||||||
|
package org.jivesoftware.smackx.debugger;
|
|
@ -764,10 +764,10 @@ public class EnhancedDebugger extends SmackDebugger {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the received stanza(/packet) detail to the messages table.
|
* Adds the received stanza detail to the messages table.
|
||||||
*
|
*
|
||||||
* @param dateFormatter the SimpleDateFormat to use to format Dates
|
* @param dateFormatter the SimpleDateFormat to use to format Dates
|
||||||
* @param packet the read stanza(/packet) to add to the table
|
* @param packet the read stanza to add to the table
|
||||||
*/
|
*/
|
||||||
private void addReadPacketToTable(final SimpleDateFormat dateFormatter, final TopLevelStreamElement packet) {
|
private void addReadPacketToTable(final SimpleDateFormat dateFormatter, final TopLevelStreamElement packet) {
|
||||||
SwingUtilities.invokeLater(new Runnable() {
|
SwingUtilities.invokeLater(new Runnable() {
|
||||||
|
@ -835,10 +835,10 @@ public class EnhancedDebugger extends SmackDebugger {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the sent stanza(/packet) detail to the messages table.
|
* Adds the sent stanza detail to the messages table.
|
||||||
*
|
*
|
||||||
* @param dateFormatter the SimpleDateFormat to use to format Dates
|
* @param dateFormatter the SimpleDateFormat to use to format Dates
|
||||||
* @param packet the sent stanza(/packet) to add to the table
|
* @param packet the sent stanza to add to the table
|
||||||
*/
|
*/
|
||||||
private void addSentPacketToTable(final SimpleDateFormat dateFormatter, final TopLevelStreamElement packet) {
|
private void addSentPacketToTable(final SimpleDateFormat dateFormatter, final TopLevelStreamElement packet) {
|
||||||
SwingUtilities.invokeLater(new Runnable() {
|
SwingUtilities.invokeLater(new Runnable() {
|
||||||
|
@ -926,7 +926,7 @@ public class EnhancedDebugger extends SmackDebugger {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An ad-hoc stanza(/packet) is like any regular stanza(/packet) but with the exception that it's intention is
|
* An ad-hoc stanza is like any regular stanza but with the exception that it's intention is
|
||||||
* to be used only <b>to send packets</b>.<p>
|
* to be used only <b>to send packets</b>.<p>
|
||||||
* <p/>
|
* <p/>
|
||||||
* The whole text to send must be passed to the constructor. This implies that the client of
|
* The whole text to send must be passed to the constructor. This implies that the client of
|
||||||
|
@ -940,7 +940,7 @@ public class EnhancedDebugger extends SmackDebugger {
|
||||||
* Create a new AdHocPacket with the text to send. The passed text must be a valid text to
|
* Create a new AdHocPacket with the text to send. The passed text must be a valid text to
|
||||||
* send to the server, no validation will be done on the passed text.
|
* send to the server, no validation will be done on the passed text.
|
||||||
*
|
*
|
||||||
* @param text the whole text of the stanza(/packet) to send
|
* @param text the whole text of the stanza to send
|
||||||
*/
|
*/
|
||||||
private AdHocPacket(String text) {
|
private AdHocPacket(String text) {
|
||||||
this.text = text;
|
this.text = text;
|
||||||
|
|
|
@ -28,7 +28,7 @@ import org.jivesoftware.smackx.forward.packet.Forwarded;
|
||||||
* meant to synchronize a message flow to multiple presences of a user.
|
* meant to synchronize a message flow to multiple presences of a user.
|
||||||
*
|
*
|
||||||
* <p>
|
* <p>
|
||||||
* It accomplishes this by wrapping a {@link Forwarded} stanza(/packet) in a <b>sent</b>
|
* It accomplishes this by wrapping a {@link Forwarded} stanza in a <b>sent</b>
|
||||||
* or <b>received</b> element
|
* or <b>received</b> element
|
||||||
*
|
*
|
||||||
* @author Georg Lukas
|
* @author Georg Lukas
|
||||||
|
|
|
@ -28,7 +28,7 @@ import org.xmlpull.v1.XmlPullParser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class implements the {@link ExtensionElementProvider} to parse
|
* This class implements the {@link ExtensionElementProvider} to parse
|
||||||
* carbon copied messages from a packet. It will return a {@link CarbonExtension} stanza(/packet) extension.
|
* carbon copied messages from a packet. It will return a {@link CarbonExtension} stanza extension.
|
||||||
*
|
*
|
||||||
* @author Georg Lukas
|
* @author Georg Lukas
|
||||||
*
|
*
|
||||||
|
|
|
@ -49,10 +49,10 @@ public class GcmPacketExtension extends AbstractJsonPacketExtension {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve the GCM stanza(/packet) extension from the packet.
|
* Retrieve the GCM stanza extension from the packet.
|
||||||
*
|
*
|
||||||
* @param packet
|
* @param packet
|
||||||
* @return the GCM stanza(/packet) extension or null.
|
* @return the GCM stanza extension or null.
|
||||||
*/
|
*/
|
||||||
public static GcmPacketExtension from(Stanza packet) {
|
public static GcmPacketExtension from(Stanza packet) {
|
||||||
return packet.getExtension(ELEMENT, NAMESPACE);
|
return packet.getExtension(ELEMENT, NAMESPACE);
|
||||||
|
|
|
@ -30,7 +30,7 @@ import org.xmlpull.v1.XmlPullParser;
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
import org.xmlpull.v1.XmlPullParserException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract parent for Req and Resp stanza(/packet) providers.
|
* Abstract parent for Req and Resp stanza providers.
|
||||||
*
|
*
|
||||||
* @author Andriy Tsykholyas
|
* @author Andriy Tsykholyas
|
||||||
* @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a>
|
* @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a>
|
||||||
|
|
|
@ -22,7 +22,7 @@ import org.jivesoftware.smackx.hoxt.packet.HttpOverXmppReq;
|
||||||
import org.xmlpull.v1.XmlPullParser;
|
import org.xmlpull.v1.XmlPullParser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Req stanza(/packet) provider.
|
* Req stanza provider.
|
||||||
*
|
*
|
||||||
* @author Andriy Tsykholyas
|
* @author Andriy Tsykholyas
|
||||||
* @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a>
|
* @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a>
|
||||||
|
|
|
@ -23,7 +23,7 @@ import org.jivesoftware.smackx.shim.packet.HeadersExtension;
|
||||||
import org.xmlpull.v1.XmlPullParser;
|
import org.xmlpull.v1.XmlPullParser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resp stanza(/packet) provider.
|
* Resp stanza provider.
|
||||||
*
|
*
|
||||||
* @author Andriy Tsykholyas
|
* @author Andriy Tsykholyas
|
||||||
* @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a>
|
* @see <a href="http://xmpp.org/extensions/xep-0332.html">XEP-0332: HTTP over XMPP transport</a>
|
||||||
|
|
|
@ -79,7 +79,7 @@ public abstract class SetData implements NamedElement {
|
||||||
/**
|
/**
|
||||||
* Returns the XML representation of this Element.
|
* Returns the XML representation of this Element.
|
||||||
*
|
*
|
||||||
* @return the stanza(/packet) extension as XML.
|
* @return the stanza extension as XML.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public final XmlStringBuilder toXML() {
|
public final XmlStringBuilder toXML() {
|
||||||
|
|
|
@ -43,10 +43,10 @@ public class JsonPacketExtension extends AbstractJsonPacketExtension {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve the JSON stanza(/packet) extension from the packet.
|
* Retrieve the JSON stanza extension from the packet.
|
||||||
*
|
*
|
||||||
* @param packet
|
* @param packet
|
||||||
* @return the JSON stanza(/packet) extension or null.
|
* @return the JSON stanza extension or null.
|
||||||
*/
|
*/
|
||||||
public static JsonPacketExtension from(Stanza packet) {
|
public static JsonPacketExtension from(Stanza packet) {
|
||||||
return packet.getExtension(ELEMENT, NAMESPACE);
|
return packet.getExtension(ELEMENT, NAMESPACE);
|
||||||
|
|
|
@ -210,12 +210,12 @@ public class MultiUserChatLight {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a stanza(/packet) listener that will be notified of any new messages
|
* Adds a stanza listener that will be notified of any new messages
|
||||||
* in the group chat. Only "group chat" messages addressed to this group
|
* in the group chat. Only "group chat" messages addressed to this group
|
||||||
* chat will be delivered to the listener.
|
* chat will be delivered to the listener.
|
||||||
*
|
*
|
||||||
* @param listener
|
* @param listener
|
||||||
* a stanza(/packet) listener.
|
* a stanza listener.
|
||||||
* @return true if the listener was not already added.
|
* @return true if the listener was not already added.
|
||||||
*/
|
*/
|
||||||
public boolean addMessageListener(MessageListener listener) {
|
public boolean addMessageListener(MessageListener listener) {
|
||||||
|
@ -223,12 +223,12 @@ public class MultiUserChatLight {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a stanza(/packet) listener that was being notified of any new
|
* Removes a stanza listener that was being notified of any new
|
||||||
* messages in the MUCLight. Only "group chat" messages addressed to this
|
* messages in the MUCLight. Only "group chat" messages addressed to this
|
||||||
* MUCLight were being delivered to the listener.
|
* MUCLight were being delivered to the listener.
|
||||||
*
|
*
|
||||||
* @param listener
|
* @param listener
|
||||||
* a stanza(/packet) listener.
|
* a stanza listener.
|
||||||
* @return true if the listener was removed, otherwise the listener was not
|
* @return true if the listener was removed, otherwise the listener was not
|
||||||
* added previously.
|
* added previously.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -73,11 +73,11 @@ public class MultipleRecipientInfo {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the received stanza(/packet) should not be replied. Use
|
* Returns true if the received stanza should not be replied. Use
|
||||||
* {@link MultipleRecipientManager#reply(org.jivesoftware.smack.XMPPConnection, org.jivesoftware.smack.packet.Message, org.jivesoftware.smack.packet.Message)}
|
* {@link MultipleRecipientManager#reply(org.jivesoftware.smack.XMPPConnection, org.jivesoftware.smack.packet.Message, org.jivesoftware.smack.packet.Message)}
|
||||||
* to send replies.
|
* to send replies.
|
||||||
*
|
*
|
||||||
* @return true if the received stanza(/packet) should not be replied.
|
* @return true if the received stanza should not be replied.
|
||||||
*/
|
*/
|
||||||
public boolean shouldNotReply() {
|
public boolean shouldNotReply() {
|
||||||
return !extension.getAddressesOfType(MultipleAddresses.Type.noreply).isEmpty();
|
return !extension.getAddressesOfType(MultipleAddresses.Type.noreply).isEmpty();
|
||||||
|
|
|
@ -49,14 +49,14 @@ import org.jxmpp.jid.Jid;
|
||||||
public class MultipleRecipientManager {
|
public class MultipleRecipientManager {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sends the specified stanza(/packet) to the collection of specified recipients using the
|
* Sends the specified stanza to the collection of specified recipients using the
|
||||||
* specified connection. If the server has support for XEP-33 then only one
|
* specified connection. If the server has support for XEP-33 then only one
|
||||||
* stanza(/packet) is going to be sent to the server with the multiple recipient instructions.
|
* stanza is going to be sent to the server with the multiple recipient instructions.
|
||||||
* However, if XEP-33 is not supported by the server then the client is going to send
|
* However, if XEP-33 is not supported by the server then the client is going to send
|
||||||
* the stanza(/packet) to each recipient.
|
* the stanza to each recipient.
|
||||||
*
|
*
|
||||||
* @param connection the connection to use to send the packet.
|
* @param connection the connection to use to send the packet.
|
||||||
* @param packet the stanza(/packet) to send to the list of recipients.
|
* @param packet the stanza to send to the list of recipients.
|
||||||
* @param to the collection of JIDs to include in the TO list or <tt>null</tt> if no TO
|
* @param to the collection of JIDs to include in the TO list or <tt>null</tt> if no TO
|
||||||
* list exists.
|
* list exists.
|
||||||
* @param cc the collection of JIDs to include in the CC list or <tt>null</tt> if no CC
|
* @param cc the collection of JIDs to include in the CC list or <tt>null</tt> if no CC
|
||||||
|
@ -77,13 +77,13 @@ public class MultipleRecipientManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sends the specified stanza(/packet) to the collection of specified recipients using the specified
|
* Sends the specified stanza 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
|
* connection. If the server has support for XEP-33 then only one stanza is going to be sent to
|
||||||
* the server with the multiple recipient instructions. However, if XEP-33 is not supported by
|
* the server with the multiple recipient instructions. However, if XEP-33 is not supported by
|
||||||
* the server then the client is going to send the stanza(/packet) to each recipient.
|
* the server then the client is going to send the stanza to each recipient.
|
||||||
*
|
*
|
||||||
* @param connection the connection to use to send the packet.
|
* @param connection the connection to use to send the packet.
|
||||||
* @param packet the stanza(/packet) to send to the list of recipients.
|
* @param packet the stanza to send to the list of recipients.
|
||||||
* @param to the collection of JIDs to include in the TO list or <tt>null</tt> if no TO list exists.
|
* @param to the collection of JIDs to include in the TO list or <tt>null</tt> if no TO list exists.
|
||||||
* @param cc the collection of JIDs to include in the CC list or <tt>null</tt> if no CC list exists.
|
* @param cc the collection of JIDs to include in the CC list or <tt>null</tt> if no CC list exists.
|
||||||
* @param bcc the collection of JIDs to include in the BCC list or <tt>null</tt> if no BCC list
|
* @param bcc the collection of JIDs to include in the BCC list or <tt>null</tt> if no BCC list
|
||||||
|
@ -132,12 +132,12 @@ public class MultipleRecipientManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sends a reply to a previously received stanza(/packet) that was sent to multiple recipients. Before
|
* Sends a reply to a previously received stanza that was sent to multiple recipients. Before
|
||||||
* attempting to send the reply message some checks are performed. If any of those checks
|
* attempting to send the reply message some checks are performed. If any of those checks
|
||||||
* fails, then an XMPPException is going to be thrown with the specific error detail.
|
* fails, then an XMPPException is going to be thrown with the specific error detail.
|
||||||
*
|
*
|
||||||
* @param connection the connection to use to send the reply.
|
* @param connection the connection to use to send the reply.
|
||||||
* @param original the previously received stanza(/packet) that was sent to multiple recipients.
|
* @param original the previously received stanza that was sent to multiple recipients.
|
||||||
* @param reply the new message to send as a reply.
|
* @param reply the new message to send as a reply.
|
||||||
* @throws SmackException
|
* @throws SmackException
|
||||||
* @throws XMPPErrorException
|
* @throws XMPPErrorException
|
||||||
|
@ -192,12 +192,12 @@ public class MultipleRecipientManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the {@link MultipleRecipientInfo} contained in the specified stanza(/packet) or
|
* Returns the {@link MultipleRecipientInfo} contained in the specified stanza or
|
||||||
* <tt>null</tt> if none was found. Only packets sent to multiple recipients will
|
* <tt>null</tt> if none was found. Only packets sent to multiple recipients will
|
||||||
* contain such information.
|
* contain such information.
|
||||||
*
|
*
|
||||||
* @param packet the stanza(/packet) to check.
|
* @param packet the stanza to check.
|
||||||
* @return the MultipleRecipientInfo contained in the specified stanza(/packet) or <tt>null</tt>
|
* @return the MultipleRecipientInfo contained in the specified stanza or <tt>null</tt>
|
||||||
* if none was found.
|
* if none was found.
|
||||||
*/
|
*/
|
||||||
public static MultipleRecipientInfo getMultipleRecipientInfo(Stanza packet) {
|
public static MultipleRecipientInfo getMultipleRecipientInfo(Stanza packet) {
|
||||||
|
@ -289,8 +289,8 @@ public class MultipleRecipientManager {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stanza(/Packet) that holds the XML stanza to send. This class is useful when the same packet
|
* Stanza(/Packet) that holds the XML stanza to send. This class is useful when the same packet
|
||||||
* is needed to be sent to different recipients. Since using the same stanza(/packet) is not possible
|
* is needed to be sent to different recipients. Since using the same stanza is not possible
|
||||||
* (i.e. cannot change the TO address of a queues stanza(/packet) to be sent) then this class was
|
* (i.e. cannot change the TO address of a queues stanza to be sent) then this class was
|
||||||
* created to keep the XML stanza to send.
|
* created to keep the XML stanza to send.
|
||||||
*/
|
*/
|
||||||
private static final class PacketCopy extends Stanza {
|
private static final class PacketCopy extends Stanza {
|
||||||
|
@ -298,10 +298,10 @@ public class MultipleRecipientManager {
|
||||||
private final CharSequence text;
|
private final CharSequence text;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a copy of a stanza(/packet) with the text to send. The passed text must be a valid text to
|
* Create a copy of a stanza with the text to send. The passed text must be a valid text to
|
||||||
* send to the server, no validation will be done on the passed text.
|
* send to the server, no validation will be done on the passed text.
|
||||||
*
|
*
|
||||||
* @param text the whole text of the stanza(/packet) to send
|
* @param text the whole text of the stanza to send
|
||||||
*/
|
*/
|
||||||
private PacketCopy(CharSequence text) {
|
private PacketCopy(CharSequence text) {
|
||||||
this.text = text;
|
this.text = text;
|
||||||
|
|
|
@ -27,7 +27,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||||
import org.jxmpp.jid.Jid;
|
import org.jxmpp.jid.Jid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stanza(/Packet) extension that contains the list of addresses that a stanza(/packet) should be sent or was sent.
|
* Stanza(/Packet) extension that contains the list of addresses that a stanza should be sent or was sent.
|
||||||
*
|
*
|
||||||
* @author Gaston Dombiak
|
* @author Gaston Dombiak
|
||||||
*/
|
*/
|
||||||
|
@ -56,14 +56,14 @@ public class MultipleAddresses implements ExtensionElement {
|
||||||
private final List<Address> addresses = new ArrayList<>();
|
private final List<Address> addresses = new ArrayList<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a new address to which the stanza(/packet) is going to be sent or was sent.
|
* Adds a new address to which the stanza is going to be sent or was sent.
|
||||||
*
|
*
|
||||||
* @param type on of the static type (BCC, CC, NO_REPLY, REPLY_ROOM, etc.)
|
* @param type on of the static type (BCC, CC, NO_REPLY, REPLY_ROOM, etc.)
|
||||||
* @param jid the JID address of the recipient.
|
* @param jid the JID address of the recipient.
|
||||||
* @param node used to specify a sub-addressable unit at a particular JID, corresponding to
|
* @param node used to specify a sub-addressable unit at a particular JID, corresponding to
|
||||||
* a Service Discovery node.
|
* a Service Discovery node.
|
||||||
* @param desc used to specify human-readable information for this address.
|
* @param desc used to specify human-readable information for this address.
|
||||||
* @param delivered true when the stanza(/packet) was already delivered to this address.
|
* @param delivered true when the stanza was already delivered to this address.
|
||||||
* @param uri used to specify an external system address, such as a sip:, sips:, or im: URI.
|
* @param uri used to specify an external system address, such as a sip:, sips:, or im: URI.
|
||||||
*/
|
*/
|
||||||
public void addAddress(Type type, Jid jid, String node, String desc, boolean delivered,
|
public void addAddress(Type type, Jid jid, String node, String desc, boolean delivered,
|
||||||
|
@ -80,7 +80,7 @@ public class MultipleAddresses implements ExtensionElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicate that the stanza(/packet) being sent should not be replied.
|
* Indicate that the stanza being sent should not be replied.
|
||||||
*/
|
*/
|
||||||
public void setNoReply() {
|
public void setNoReply() {
|
||||||
// Create a new address with the specified configuration
|
// Create a new address with the specified configuration
|
||||||
|
|
|
@ -132,7 +132,7 @@ public class AMPExtension implements ExtensionElement {
|
||||||
* Returns the XML element name of the extension sub-packet root element.
|
* Returns the XML element name of the extension sub-packet root element.
|
||||||
* Always returns "amp"
|
* Always returns "amp"
|
||||||
*
|
*
|
||||||
* @return the XML element name of the stanza(/packet) extension.
|
* @return the XML element name of the stanza extension.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getElementName() {
|
public String getElementName() {
|
||||||
|
@ -143,7 +143,7 @@ public class AMPExtension implements ExtensionElement {
|
||||||
* Returns the XML namespace of the extension sub-packet root element.
|
* Returns the XML namespace of the extension sub-packet root element.
|
||||||
* According the specification the namespace is always "http://jabber.org/protocol/xhtml-im"
|
* According the specification the namespace is always "http://jabber.org/protocol/xhtml-im"
|
||||||
*
|
*
|
||||||
* @return the XML namespace of the stanza(/packet) extension.
|
* @return the XML namespace of the stanza extension.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getNamespace() {
|
public String getNamespace() {
|
||||||
|
|
|
@ -34,7 +34,7 @@ public class AMPExtensionProvider extends ExtensionElementProvider<AMPExtension>
|
||||||
private static final Logger LOGGER = Logger.getLogger(AMPExtensionProvider.class.getName());
|
private static final Logger LOGGER = Logger.getLogger(AMPExtensionProvider.class.getName());
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses a AMPExtension stanza(/packet) (extension sub-packet).
|
* Parses a AMPExtension stanza (extension sub-packet).
|
||||||
*
|
*
|
||||||
* @param parser the XML parser, positioned at the starting element of the extension.
|
* @param parser the XML parser, positioned at the starting element of the extension.
|
||||||
* @return a PacketExtension.
|
* @return a PacketExtension.
|
||||||
|
|
|
@ -26,9 +26,9 @@ import org.jivesoftware.smackx.bytestreams.ibb.packet.DataPacketExtension;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DataListener handles all In-Band Bytestream IQ stanzas containing a data
|
* DataListener handles all In-Band Bytestream IQ stanzas containing a data
|
||||||
* stanza(/packet) extension that don't belong to an existing session.
|
* stanza extension that don't belong to an existing session.
|
||||||
* <p>
|
* <p>
|
||||||
* If a data stanza(/packet) is received it looks if a stored In-Band Bytestream session
|
* If a data stanza is received it looks if a stored In-Band Bytestream session
|
||||||
* exists. If no session with the given session ID exists an
|
* exists. If no session with the given session ID exists an
|
||||||
* <item-not-found/> error is returned to the sender.
|
* <item-not-found/> error is returned to the sender.
|
||||||
* <p>
|
* <p>
|
||||||
|
|
|
@ -53,7 +53,7 @@ import org.jxmpp.jid.Jid;
|
||||||
* in case the Socks5 bytestream method of transferring data is not available.
|
* in case the Socks5 bytestream method of transferring data is not available.
|
||||||
* <p>
|
* <p>
|
||||||
* There are two ways to send data over an In-Band Bytestream. It could either use IQ stanzas to
|
* There are two ways to send data over an In-Band Bytestream. It could either use IQ stanzas to
|
||||||
* send data packets or message stanzas. If IQ stanzas are used every data stanza(/packet) is acknowledged by
|
* send data packets or message stanzas. If IQ stanzas are used every data stanza is acknowledged by
|
||||||
* the receiver. This is the recommended way to avoid possible rate-limiting penalties. Message
|
* the receiver. This is the recommended way to avoid possible rate-limiting penalties. Message
|
||||||
* stanzas are not acknowledged because most XMPP server implementation don't support stanza
|
* stanzas are not acknowledged because most XMPP server implementation don't support stanza
|
||||||
* flow-control method like <a href="http://xmpp.org/extensions/xep-0079.html">Advanced Message
|
* flow-control method like <a href="http://xmpp.org/extensions/xep-0079.html">Advanced Message
|
||||||
|
@ -291,7 +291,7 @@ public final class InBandBytestreamManager extends Manager implements Bytestream
|
||||||
* to the initiator.
|
* to the initiator.
|
||||||
* <p>
|
* <p>
|
||||||
* This method should be used if you are awaiting an In-Band Bytestream request as a reply to
|
* This method should be used if you are awaiting an In-Band Bytestream request as a reply to
|
||||||
* another stanza(/packet) (e.g. file transfer).
|
* another stanza (e.g. file transfer).
|
||||||
*
|
*
|
||||||
* @param sessionID to be ignored
|
* @param sessionID to be ignored
|
||||||
*/
|
*/
|
||||||
|
@ -447,7 +447,7 @@ public final class InBandBytestreamManager extends Manager implements Bytestream
|
||||||
* Responses to the given IQ packet's sender with an XMPP error that an In-Band Bytestream is
|
* Responses to the given IQ packet's sender with an XMPP error that an In-Band Bytestream is
|
||||||
* not accepted.
|
* not accepted.
|
||||||
*
|
*
|
||||||
* @param request IQ stanza(/packet) that should be answered with a not-acceptable error
|
* @param request IQ stanza that should be answered with a not-acceptable error
|
||||||
* @throws NotConnectedException
|
* @throws NotConnectedException
|
||||||
* @throws InterruptedException
|
* @throws InterruptedException
|
||||||
*/
|
*/
|
||||||
|
@ -460,7 +460,7 @@ public final class InBandBytestreamManager extends Manager implements Bytestream
|
||||||
* Responses to the given IQ packet's sender with an XMPP error that an In-Band Bytestream open
|
* Responses to the given IQ packet's sender with an XMPP error that an In-Band Bytestream open
|
||||||
* request is rejected because its block size is greater than the maximum allowed block size.
|
* request is rejected because its block size is greater than the maximum allowed block size.
|
||||||
*
|
*
|
||||||
* @param request IQ stanza(/packet) that should be answered with a resource-constraint error
|
* @param request IQ stanza that should be answered with a resource-constraint error
|
||||||
* @throws NotConnectedException
|
* @throws NotConnectedException
|
||||||
* @throws InterruptedException
|
* @throws InterruptedException
|
||||||
*/
|
*/
|
||||||
|
@ -473,7 +473,7 @@ public final class InBandBytestreamManager extends Manager implements Bytestream
|
||||||
* Responses to the given IQ packet's sender with an XMPP error that an In-Band Bytestream
|
* Responses to the given IQ packet's sender with an XMPP error that an In-Band Bytestream
|
||||||
* session could not be found.
|
* session could not be found.
|
||||||
*
|
*
|
||||||
* @param request IQ stanza(/packet) that should be answered with a item-not-found error
|
* @param request IQ stanza that should be answered with a item-not-found error
|
||||||
* @throws NotConnectedException
|
* @throws NotConnectedException
|
||||||
* @throws InterruptedException
|
* @throws InterruptedException
|
||||||
*/
|
*/
|
||||||
|
@ -543,7 +543,7 @@ public final class InBandBytestreamManager extends Manager implements Bytestream
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disables the InBandBytestreamManager by removing its stanza(/packet) listeners and resetting its
|
* Disables the InBandBytestreamManager by removing its stanza listeners and resetting its
|
||||||
* internal status, which includes removing this instance from the managers map.
|
* internal status, which includes removing this instance from the managers map.
|
||||||
*/
|
*/
|
||||||
private void disableService() {
|
private void disableService() {
|
||||||
|
|
|
@ -242,7 +242,7 @@ public class InBandBytestreamSession implements BytestreamSession {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IBBInputStream class is the base implementation of an In-Band Bytestream input stream.
|
* IBBInputStream class is the base implementation of an In-Band Bytestream input stream.
|
||||||
* Subclasses of this input stream must provide a stanza(/packet) listener along with a stanza(/packet) filter to
|
* Subclasses of this input stream must provide a stanza listener along with a stanza filter to
|
||||||
* collect the In-Band Bytestream data packets.
|
* collect the In-Band Bytestream data packets.
|
||||||
*/
|
*/
|
||||||
private abstract class IBBInputStream extends InputStream {
|
private abstract class IBBInputStream extends InputStream {
|
||||||
|
@ -281,16 +281,16 @@ public class InBandBytestreamSession implements BytestreamSession {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the stanza(/packet) listener that processes In-Band Bytestream data packets.
|
* Returns the stanza listener that processes In-Band Bytestream data packets.
|
||||||
*
|
*
|
||||||
* @return the data stanza(/packet) listener
|
* @return the data stanza listener
|
||||||
*/
|
*/
|
||||||
protected abstract StanzaListener getDataPacketListener();
|
protected abstract StanzaListener getDataPacketListener();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the stanza(/packet) filter that accepts In-Band Bytestream data packets.
|
* Returns the stanza filter that accepts In-Band Bytestream data packets.
|
||||||
*
|
*
|
||||||
* @return the data stanza(/packet) filter
|
* @return the data stanza filter
|
||||||
*/
|
*/
|
||||||
protected abstract StanzaFilter getDataPacketFilter();
|
protected abstract StanzaFilter getDataPacketFilter();
|
||||||
|
|
||||||
|
@ -350,7 +350,7 @@ public class InBandBytestreamSession implements BytestreamSession {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method blocks until a data stanza(/packet) is received, the stream is closed or the current
|
* This method blocks until a data stanza is received, the stream is closed or the current
|
||||||
* thread is interrupted.
|
* thread is interrupted.
|
||||||
*
|
*
|
||||||
* @return <code>true</code> if data was received, otherwise <code>false</code>
|
* @return <code>true</code> if data was received, otherwise <code>false</code>
|
||||||
|
@ -436,7 +436,7 @@ public class InBandBytestreamSession implements BytestreamSession {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method sets the close flag and removes the data stanza(/packet) listener.
|
* This method sets the close flag and removes the data stanza listener.
|
||||||
*/
|
*/
|
||||||
private void closeInternal() {
|
private void closeInternal() {
|
||||||
if (isClosed) {
|
if (isClosed) {
|
||||||
|
@ -513,7 +513,7 @@ public class InBandBytestreamSession implements BytestreamSession {
|
||||||
protected StanzaFilter getDataPacketFilter() {
|
protected StanzaFilter getDataPacketFilter() {
|
||||||
/*
|
/*
|
||||||
* filter all IQ stanzas having type 'SET' (represented by Data class), containing a
|
* filter all IQ stanzas having type 'SET' (represented by Data class), containing a
|
||||||
* data stanza(/packet) extension, matching session ID and recipient
|
* data stanza extension, matching session ID and recipient
|
||||||
*/
|
*/
|
||||||
return new AndFilter(new StanzaTypeFilter(Data.class), new IBBDataPacketFilter());
|
return new AndFilter(new StanzaTypeFilter(Data.class), new IBBDataPacketFilter());
|
||||||
}
|
}
|
||||||
|
@ -561,7 +561,7 @@ public class InBandBytestreamSession implements BytestreamSession {
|
||||||
@Override
|
@Override
|
||||||
protected StanzaFilter getDataPacketFilter() {
|
protected StanzaFilter getDataPacketFilter() {
|
||||||
/*
|
/*
|
||||||
* filter all message stanzas containing a data stanza(/packet) extension, matching session ID
|
* filter all message stanzas containing a data stanza extension, matching session ID
|
||||||
* and recipient
|
* and recipient
|
||||||
*/
|
*/
|
||||||
return new AndFilter(new StanzaTypeFilter(Message.class), new IBBDataPacketFilter());
|
return new AndFilter(new StanzaTypeFilter(Message.class), new IBBDataPacketFilter());
|
||||||
|
@ -571,7 +571,7 @@ public class InBandBytestreamSession implements BytestreamSession {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IBBDataPacketFilter class filters all packets from the remote peer of this session,
|
* IBBDataPacketFilter class filters all packets from the remote peer of this session,
|
||||||
* containing an In-Band Bytestream data stanza(/packet) extension whose session ID matches this sessions
|
* containing an In-Band Bytestream data stanza extension whose session ID matches this sessions
|
||||||
* ID.
|
* ID.
|
||||||
*/
|
*/
|
||||||
private class IBBDataPacketFilter implements StanzaFilter {
|
private class IBBDataPacketFilter implements StanzaFilter {
|
||||||
|
@ -632,7 +632,7 @@ public class InBandBytestreamSession implements BytestreamSession {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes the given data stanza(/packet) to the XMPP stream.
|
* Writes the given data stanza to the XMPP stream.
|
||||||
*
|
*
|
||||||
* @param data the data packet
|
* @param data the data packet
|
||||||
* @throws IOException if an I/O error occurred while sending or if the stream is closed
|
* @throws IOException if an I/O error occurred while sending or if the stream is closed
|
||||||
|
|
|
@ -32,7 +32,7 @@ public class Data extends IQ {
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
* @param data data stanza(/packet) extension containing the encoded data
|
* @param data data stanza extension containing the encoded data
|
||||||
*/
|
*/
|
||||||
public Data(DataPacketExtension data) {
|
public Data(DataPacketExtension data) {
|
||||||
super(DataPacketExtension.ELEMENT, DataPacketExtension.NAMESPACE);
|
super(DataPacketExtension.ELEMENT, DataPacketExtension.NAMESPACE);
|
||||||
|
@ -45,9 +45,9 @@ public class Data extends IQ {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the data stanza(/packet) extension.
|
* Returns the data stanza extension.
|
||||||
*
|
*
|
||||||
* @return the data stanza(/packet) extension
|
* @return the data stanza extension
|
||||||
*/
|
*/
|
||||||
public DataPacketExtension getDataPacketExtension() {
|
public DataPacketExtension getDataPacketExtension() {
|
||||||
return this.dataPacketExtension;
|
return this.dataPacketExtension;
|
||||||
|
|
|
@ -30,7 +30,7 @@ import org.jivesoftware.smack.util.stringencoder.Base64;
|
||||||
public class DataPacketExtension implements ExtensionElement {
|
public class DataPacketExtension implements ExtensionElement {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The element name of the data stanza(/packet) extension.
|
* The element name of the data stanza extension.
|
||||||
*/
|
*/
|
||||||
public static final String ELEMENT = "data";
|
public static final String ELEMENT = "data";
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ public class DataPacketExtension implements ExtensionElement {
|
||||||
* Creates a new In-Band Bytestream data packet.
|
* Creates a new In-Band Bytestream data packet.
|
||||||
*
|
*
|
||||||
* @param sessionID unique session ID identifying this In-Band Bytestream
|
* @param sessionID unique session ID identifying this In-Band Bytestream
|
||||||
* @param seq sequence of this stanza(/packet) in regard to the other data packets
|
* @param seq sequence of this stanza in regard to the other data packets
|
||||||
* @param data the base64 encoded data contained in this packet
|
* @param data the base64 encoded data contained in this packet
|
||||||
*/
|
*/
|
||||||
public DataPacketExtension(String sessionID, long seq, String data) {
|
public DataPacketExtension(String sessionID, long seq, String data) {
|
||||||
|
@ -82,9 +82,9 @@ public class DataPacketExtension implements ExtensionElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the sequence of this stanza(/packet) in regard to the other data packets.
|
* Returns the sequence of this stanza in regard to the other data packets.
|
||||||
*
|
*
|
||||||
* @return the sequence of this stanza(/packet) in regard to the other data packets.
|
* @return the sequence of this stanza in regard to the other data packets.
|
||||||
*/
|
*/
|
||||||
public long getSeq() {
|
public long getSeq() {
|
||||||
return seq;
|
return seq;
|
||||||
|
|
|
@ -25,7 +25,7 @@ import org.xmlpull.v1.XmlPullParser;
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
import org.xmlpull.v1.XmlPullParserException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses an In-Band Bytestream data stanza(/packet) which can be a stanza(/packet) extension of
|
* Parses an In-Band Bytestream data stanza which can be a stanza extension of
|
||||||
* either an IQ stanza or a message stanza.
|
* either an IQ stanza or a message stanza.
|
||||||
*
|
*
|
||||||
* @author Henning Staib
|
* @author Henning Staib
|
||||||
|
|
|
@ -256,7 +256,7 @@ public final class Socks5BytestreamManager extends Manager implements Bytestream
|
||||||
* to the initiator.
|
* to the initiator.
|
||||||
* <p>
|
* <p>
|
||||||
* This method should be used if you are awaiting a SOCKS5 Bytestream request as a reply to
|
* This method should be used if you are awaiting a SOCKS5 Bytestream request as a reply to
|
||||||
* another stanza(/packet) (e.g. file transfer).
|
* another stanza (e.g. file transfer).
|
||||||
*
|
*
|
||||||
* @param sessionID to be ignored
|
* @param sessionID to be ignored
|
||||||
*/
|
*/
|
||||||
|
@ -612,10 +612,10 @@ public final class Socks5BytestreamManager extends Manager implements Bytestream
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a IQ stanza(/packet) to query a SOCKS5 proxy its network settings.
|
* Returns a IQ stanza to query a SOCKS5 proxy its network settings.
|
||||||
*
|
*
|
||||||
* @param proxy the proxy to query
|
* @param proxy the proxy to query
|
||||||
* @return IQ stanza(/packet) to query a SOCKS5 proxy its network settings
|
* @return IQ stanza to query a SOCKS5 proxy its network settings
|
||||||
*/
|
*/
|
||||||
private static Bytestream createStreamHostRequest(Jid proxy) {
|
private static Bytestream createStreamHostRequest(Jid proxy) {
|
||||||
Bytestream request = new Bytestream();
|
Bytestream request = new Bytestream();
|
||||||
|
@ -664,7 +664,7 @@ public final class Socks5BytestreamManager extends Manager implements Bytestream
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a SOCKS5 Bytestream initialization request stanza(/packet) with the given session ID
|
* Returns a SOCKS5 Bytestream initialization request stanza with the given session ID
|
||||||
* containing the given stream hosts for the given target JID.
|
* containing the given stream hosts for the given target JID.
|
||||||
*
|
*
|
||||||
* @param sessionID the session ID for the SOCKS5 Bytestream
|
* @param sessionID the session ID for the SOCKS5 Bytestream
|
||||||
|
|
|
@ -105,7 +105,7 @@ public class Socks5ClientForInitiator extends Socks5Client {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Activates the SOCKS5 Bytestream by sending an XMPP SOCKS5 Bytestream activation stanza(/packet) to the
|
* Activates the SOCKS5 Bytestream by sending an XMPP SOCKS5 Bytestream activation stanza to the
|
||||||
* SOCKS5 proxy.
|
* SOCKS5 proxy.
|
||||||
* @throws XMPPErrorException
|
* @throws XMPPErrorException
|
||||||
* @throws NoResponseException
|
* @throws NoResponseException
|
||||||
|
|
|
@ -29,7 +29,7 @@ import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||||
import org.jxmpp.jid.Jid;
|
import org.jxmpp.jid.Jid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A stanza(/packet) representing part of a SOCKS5 Bytestream negotiation.
|
* A stanza representing part of a SOCKS5 Bytestream negotiation.
|
||||||
*
|
*
|
||||||
* @author Alexander Wenckus
|
* @author Alexander Wenckus
|
||||||
*/
|
*/
|
||||||
|
@ -202,10 +202,10 @@ public class Bytestream extends IQ {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the activate element of the stanza(/packet) sent to the proxy host to verify the identity of
|
* Returns the activate element of the stanza sent to the proxy host to verify the identity of
|
||||||
* the initiator and match them to the appropriate stream.
|
* the initiator and match them to the appropriate stream.
|
||||||
*
|
*
|
||||||
* @return Returns the activate element of the stanza(/packet) sent to the proxy host to verify the
|
* @return Returns the activate element of the stanza sent to the proxy host to verify the
|
||||||
* identity of the initiator and match them to the appropriate stream.
|
* identity of the initiator and match them to the appropriate stream.
|
||||||
*/
|
*/
|
||||||
public Activate getToActivate() {
|
public Activate getToActivate() {
|
||||||
|
@ -213,7 +213,7 @@ public class Bytestream extends IQ {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Upon the response from the target of the used host the activate stanza(/packet) is sent to the SOCKS5
|
* Upon the response from the target of the used host the activate stanza is sent to the SOCKS5
|
||||||
* proxy. The proxy will activate the stream or return an error after verifying the identity of
|
* proxy. The proxy will activate the stream or return an error after verifying the identity of
|
||||||
* the initiator, using the activate packet.
|
* the initiator, using the activate packet.
|
||||||
*
|
*
|
||||||
|
@ -341,7 +341,7 @@ public class Bytestream extends IQ {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* After selected a SOCKS5 stream host and successfully connecting, the target of the file
|
* After selected a SOCKS5 stream host and successfully connecting, the target of the file
|
||||||
* transfer returns a byte stream stanza(/packet) with the stream host used extension.
|
* transfer returns a byte stream stanza with the stream host used extension.
|
||||||
*
|
*
|
||||||
* @author Alexander Wenckus
|
* @author Alexander Wenckus
|
||||||
*/
|
*/
|
||||||
|
@ -384,7 +384,7 @@ public class Bytestream extends IQ {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The stanza(/packet) sent by the stream initiator to the stream proxy to activate the connection.
|
* The stanza sent by the stream initiator to the stream proxy to activate the connection.
|
||||||
*
|
*
|
||||||
* @author Alexander Wenckus
|
* @author Alexander Wenckus
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -564,7 +564,7 @@ public final class EntityCapsManager extends Manager {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param info
|
* @param info
|
||||||
* @return true if the stanza(/packet) extensions is ill-formed
|
* @return true if the stanza extensions is ill-formed
|
||||||
*/
|
*/
|
||||||
protected static boolean verifyPacketExtensions(DiscoverInfo info) {
|
protected static boolean verifyPacketExtensions(DiscoverInfo info) {
|
||||||
List<FormField> foundFormTypes = new LinkedList<>();
|
List<FormField> foundFormTypes = new LinkedList<>();
|
||||||
|
|
|
@ -123,7 +123,7 @@ public class SimpleDirectoryPersistentCache implements EntityCapsPersistentCache
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes the DiscoverInfo stanza(/packet) to an file
|
* Writes the DiscoverInfo stanza to an file
|
||||||
*
|
*
|
||||||
* @param file
|
* @param file
|
||||||
* @param info
|
* @param info
|
||||||
|
@ -139,7 +139,7 @@ public class SimpleDirectoryPersistentCache implements EntityCapsPersistentCache
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tries to restore an DiscoverInfo stanza(/packet) from a file.
|
* Tries to restore an DiscoverInfo stanza from a file.
|
||||||
*
|
*
|
||||||
* @param file
|
* @param file
|
||||||
* @return the restored DiscoverInfo
|
* @return the restored DiscoverInfo
|
||||||
|
|
|
@ -46,7 +46,7 @@ import org.jxmpp.jid.EntityFullJid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles chat state for all chats on a particular XMPPConnection. This class manages both the
|
* Handles chat state for all chats on a particular XMPPConnection. This class manages both the
|
||||||
* stanza(/packet) extensions and the disco response necessary for compliance with
|
* stanza extensions and the disco response necessary for compliance with
|
||||||
* <a href="http://www.xmpp.org/extensions/xep-0085.html">XEP-0085</a>.
|
* <a href="http://www.xmpp.org/extensions/xep-0085.html">XEP-0085</a>.
|
||||||
*
|
*
|
||||||
* NOTE: {@link org.jivesoftware.smackx.chatstates.ChatStateManager#getInstance(org.jivesoftware.smack.XMPPConnection)}
|
* NOTE: {@link org.jivesoftware.smackx.chatstates.ChatStateManager#getInstance(org.jivesoftware.smack.XMPPConnection)}
|
||||||
|
@ -178,7 +178,7 @@ public final class ChatStateManager extends Manager {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the current state of the provided chat. This method will send an empty bodied Message
|
* Sets the current state of the provided chat. This method will send an empty bodied Message
|
||||||
* stanza(/packet) with the state attached as a {@link org.jivesoftware.smack.packet.ExtensionElement}, if
|
* stanza with the state attached as a {@link org.jivesoftware.smack.packet.ExtensionElement}, if
|
||||||
* and only if the new chat state is different than the last state.
|
* and only if the new chat state is different than the last state.
|
||||||
*
|
*
|
||||||
* @param newState the new state of the chat
|
* @param newState the new state of the chat
|
||||||
|
|
|
@ -306,7 +306,7 @@ public final class AdHocCommandManager extends Manager {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process the AdHoc-Command stanza(/packet) that request the execution of some
|
* Process the AdHoc-Command stanza that request the execution of some
|
||||||
* action of a command. If this is the first request, this method checks,
|
* action of a command. If this is the first request, this method checks,
|
||||||
* before executing the command, if:
|
* before executing the command, if:
|
||||||
* <ul>
|
* <ul>
|
||||||
|
@ -327,7 +327,7 @@ public final class AdHocCommandManager extends Manager {
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
* @param requestData
|
* @param requestData
|
||||||
* the stanza(/packet) to process.
|
* the stanza to process.
|
||||||
* @throws NotConnectedException
|
* @throws NotConnectedException
|
||||||
* @throws NoResponseException
|
* @throws NoResponseException
|
||||||
* @throws InterruptedException
|
* @throws InterruptedException
|
||||||
|
|
|
@ -26,8 +26,8 @@ import org.jxmpp.util.XmppDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents timestamp information about data stored for later delivery. A DelayInformation will
|
* Represents timestamp information about data stored for later delivery. A DelayInformation will
|
||||||
* always includes the timestamp when the stanza(/packet) was originally sent and may include more
|
* always includes the timestamp when the stanza 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
|
* information such as the JID of the entity that originally sent the stanza as well as the reason
|
||||||
* for the delay.<p>
|
* for the delay.<p>
|
||||||
*
|
*
|
||||||
* For more information see <a href="http://xmpp.org/extensions/xep-0091.html">XEP-0091</a>
|
* For more information see <a href="http://xmpp.org/extensions/xep-0091.html">XEP-0091</a>
|
||||||
|
@ -61,10 +61,10 @@ public class DelayInformation implements ExtensionElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the JID of the entity that originally sent the stanza(/packet) or that delayed the
|
* Returns the JID of the entity that originally sent the stanza or that delayed the
|
||||||
* delivery of the stanza(/packet) or <tt>null</tt> if this information is not available.
|
* delivery of the stanza or <tt>null</tt> if this information is not available.
|
||||||
*
|
*
|
||||||
* @return the JID of the entity that originally sent the stanza(/packet) or that delayed the
|
* @return the JID of the entity that originally sent the stanza or that delayed the
|
||||||
* delivery of the packet.
|
* delivery of the packet.
|
||||||
*/
|
*/
|
||||||
public String getFrom() {
|
public String getFrom() {
|
||||||
|
@ -72,10 +72,10 @@ public class DelayInformation implements ExtensionElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the timestamp when the stanza(/packet) was originally sent. The returned Date is
|
* Returns the timestamp when the stanza was originally sent. The returned Date is
|
||||||
* be understood as UTC.
|
* be understood as UTC.
|
||||||
*
|
*
|
||||||
* @return the timestamp when the stanza(/packet) was originally sent.
|
* @return the timestamp when the stanza was originally sent.
|
||||||
*/
|
*/
|
||||||
public Date getStamp() {
|
public Date getStamp() {
|
||||||
return stamp;
|
return stamp;
|
||||||
|
|
|
@ -65,9 +65,9 @@ public interface NodeInformationProvider {
|
||||||
List<DiscoverInfo.Identity> getNodeIdentities();
|
List<DiscoverInfo.Identity> getNodeIdentities();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a list of the stanza(/packet) extensions defined in the node.
|
* Returns a list of the stanza extensions defined in the node.
|
||||||
*
|
*
|
||||||
* @return a list of the stanza(/packet) extensions defined in the node.
|
* @return a list of the stanza extensions defined in the node.
|
||||||
*/
|
*/
|
||||||
List<ExtensionElement> getNodePacketExtensions();
|
List<ExtensionElement> getNodePacketExtensions();
|
||||||
}
|
}
|
||||||
|
|
|
@ -373,7 +373,7 @@ public final class ServiceDiscoveryManager extends Manager {
|
||||||
* Registers that a new feature is supported by this XMPP entity. When this client is
|
* Registers that a new feature is supported by this XMPP entity. When this client is
|
||||||
* queried for its information the registered features will be answered.<p>
|
* queried for its information the registered features will be answered.<p>
|
||||||
*
|
*
|
||||||
* Since no stanza(/packet) is actually sent to the server it is safe to perform this operation
|
* Since no stanza is actually sent to the server it is safe to perform this operation
|
||||||
* before logging to the server. In fact, you may want to configure the supported features
|
* before logging to the server. In fact, you may want to configure the supported features
|
||||||
* before logging to the server so that the information is already available if it is required
|
* before logging to the server so that the information is already available if it is required
|
||||||
* upon login.
|
* upon login.
|
||||||
|
@ -390,7 +390,7 @@ public final class ServiceDiscoveryManager extends Manager {
|
||||||
/**
|
/**
|
||||||
* Removes the specified feature from the supported features by this XMPP entity.<p>
|
* Removes the specified feature from the supported features by this XMPP entity.<p>
|
||||||
*
|
*
|
||||||
* Since no stanza(/packet) is actually sent to the server it is safe to perform this operation
|
* Since no stanza is actually sent to the server it is safe to perform this operation
|
||||||
* before logging to the server.
|
* before logging to the server.
|
||||||
*
|
*
|
||||||
* @param feature the feature to remove from the supported features.
|
* @param feature the feature to remove from the supported features.
|
||||||
|
@ -418,7 +418,7 @@ public final class ServiceDiscoveryManager extends Manager {
|
||||||
* specified by XEP-0128.
|
* specified by XEP-0128.
|
||||||
* <p>
|
* <p>
|
||||||
*
|
*
|
||||||
* Since no stanza(/packet) is actually sent to the server it is safe to perform this
|
* Since no stanza is actually sent to the server it is safe to perform this
|
||||||
* operation before logging to the server. In fact, you may want to
|
* operation before logging to the server. In fact, you may want to
|
||||||
* configure the extended info before logging to the server so that the
|
* configure the extended info before logging to the server so that the
|
||||||
* information is already available if it is required upon login.
|
* information is already available if it is required upon login.
|
||||||
|
@ -463,7 +463,7 @@ public final class ServiceDiscoveryManager extends Manager {
|
||||||
* Removes the data form containing extended service discovery information
|
* Removes the data form containing extended service discovery information
|
||||||
* from the information returned by this XMPP entity.<p>
|
* from the information returned by this XMPP entity.<p>
|
||||||
*
|
*
|
||||||
* Since no stanza(/packet) is actually sent to the server it is safe to perform this
|
* Since no stanza is actually sent to the server it is safe to perform this
|
||||||
* operation before logging to the server.
|
* operation before logging to the server.
|
||||||
*/
|
*/
|
||||||
public synchronized void removeExtendedInfo() {
|
public synchronized void removeExtendedInfo() {
|
||||||
|
@ -607,7 +607,7 @@ public final class ServiceDiscoveryManager extends Manager {
|
||||||
* be returned by the server whenever the server receives a disco request targeted to the bare
|
* be returned by the server whenever the server receives a disco request targeted to the bare
|
||||||
* address of the client (i.e. user@host.com).
|
* address of the client (i.e. user@host.com).
|
||||||
*
|
*
|
||||||
* @param info the discover info stanza(/packet) to check.
|
* @param info the discover info stanza to check.
|
||||||
* @return true if the server supports publishing of items.
|
* @return true if the server supports publishing of items.
|
||||||
* @deprecated The disco-publish feature was removed from XEP-0030 in 2008 in favor of XEP-0060: Publish-Subscribe.
|
* @deprecated The disco-publish feature was removed from XEP-0030 in 2008 in favor of XEP-0060: Publish-Subscribe.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -270,7 +270,7 @@ public final class FileTransferNegotiator extends Manager {
|
||||||
* the option of, accepting, rejecting, or not responding to a received file
|
* the option of, accepting, rejecting, or not responding to a received file
|
||||||
* transfer request.
|
* transfer request.
|
||||||
* <p>
|
* <p>
|
||||||
* If they accept, the stanza(/packet) will contain the other user's chosen stream
|
* If they accept, the stanza will contain the other user's chosen stream
|
||||||
* type to send the file across. The two choices this implementation
|
* type to send the file across. The two choices this implementation
|
||||||
* provides to the other user for file transfer are <a
|
* provides to the other user for file transfer are <a
|
||||||
* href="http://www.xmpp.org/extensions/jep-0065.html">SOCKS5 Bytestreams</a>,
|
* href="http://www.xmpp.org/extensions/jep-0065.html">SOCKS5 Bytestreams</a>,
|
||||||
|
|
|
@ -106,11 +106,11 @@ public class FileTransferRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the stream initiation stanza(/packet) that was sent by the requester which
|
* Returns the stream initiation stanza that was sent by the requester which
|
||||||
* contains the parameters of the file transfer being transfer and also the
|
* contains the parameters of the file transfer being transfer and also the
|
||||||
* methods available to transfer the file.
|
* methods available to transfer the file.
|
||||||
*
|
*
|
||||||
* @return Returns the stream initiation stanza(/packet) that was sent by the
|
* @return Returns the stream initiation stanza that was sent by the
|
||||||
* requester which contains the parameters of the file transfer
|
* requester which contains the parameters of the file transfer
|
||||||
* being transfer and also the methods available to transfer the
|
* being transfer and also the methods available to transfer the
|
||||||
* file.
|
* file.
|
||||||
|
|
|
@ -65,7 +65,7 @@ public abstract class StreamNegotiator extends Manager {
|
||||||
protected static final EventManger<String, IQ, SmackException.NotConnectedException> initationSetEvents = new EventManger<>();
|
protected static final EventManger<String, IQ, SmackException.NotConnectedException> initationSetEvents = new EventManger<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the initiation acceptance stanza(/packet) to forward to the stream
|
* Creates the initiation acceptance stanza to forward to the stream
|
||||||
* initiator.
|
* initiator.
|
||||||
*
|
*
|
||||||
* @param streamInitiationOffer The offer from the stream initiator to connect for a stream.
|
* @param streamInitiationOffer The offer from the stream initiator to connect for a stream.
|
||||||
|
|
|
@ -36,10 +36,10 @@ public class Forwarded implements ExtensionElement {
|
||||||
private final Stanza forwardedPacket;
|
private final Stanza forwardedPacket;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new Forwarded stanza(/packet) extension.
|
* Creates a new Forwarded stanza extension.
|
||||||
*
|
*
|
||||||
* @param delay an optional {@link DelayInformation} timestamp of the packet.
|
* @param delay an optional {@link DelayInformation} timestamp of the packet.
|
||||||
* @param fwdPacket the stanza(/packet) that is forwarded (required).
|
* @param fwdPacket the stanza that is forwarded (required).
|
||||||
*/
|
*/
|
||||||
public Forwarded(DelayInformation delay, Stanza fwdPacket) {
|
public Forwarded(DelayInformation delay, Stanza fwdPacket) {
|
||||||
this.delay = delay;
|
this.delay = delay;
|
||||||
|
@ -47,9 +47,9 @@ public class Forwarded implements ExtensionElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new Forwarded stanza(/packet) extension.
|
* Creates a new Forwarded stanza extension.
|
||||||
*
|
*
|
||||||
* @param fwdPacket the stanza(/packet) that is forwarded (required).
|
* @param fwdPacket the stanza that is forwarded (required).
|
||||||
*/
|
*/
|
||||||
public Forwarded(Stanza fwdPacket) {
|
public Forwarded(Stanza fwdPacket) {
|
||||||
this(null, fwdPacket);
|
this(null, fwdPacket);
|
||||||
|
@ -76,7 +76,7 @@ public class Forwarded implements ExtensionElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the stanza(/packet) forwarded by this stanza.
|
* get the stanza forwarded by this stanza.
|
||||||
*
|
*
|
||||||
* @return the {@link Stanza} instance (typically a message) that was forwarded.
|
* @return the {@link Stanza} instance (typically a message) that was forwarded.
|
||||||
* @deprecated use @{link {@link #getForwardedStanza()}} instead.
|
* @deprecated use @{link {@link #getForwardedStanza()}} instead.
|
||||||
|
@ -98,7 +98,7 @@ public class Forwarded implements ExtensionElement {
|
||||||
/**
|
/**
|
||||||
* get the timestamp of the forwarded packet.
|
* get the timestamp of the forwarded packet.
|
||||||
*
|
*
|
||||||
* @return the {@link DelayInformation} representing the time when the original stanza(/packet) was sent. May be null.
|
* @return the {@link DelayInformation} representing the time when the original stanza was sent. May be null.
|
||||||
*/
|
*/
|
||||||
public DelayInformation getDelayInformation() {
|
public DelayInformation getDelayInformation() {
|
||||||
return delay;
|
return delay;
|
||||||
|
|
|
@ -32,7 +32,7 @@ import org.xmlpull.v1.XmlPullParser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class implements the {@link ExtensionElementProvider} to parse
|
* This class implements the {@link ExtensionElementProvider} to parse
|
||||||
* forwarded messages from a packet. It will return a {@link Forwarded} stanza(/packet) extension.
|
* forwarded messages from a packet. It will return a {@link Forwarded} stanza extension.
|
||||||
*
|
*
|
||||||
* @author Georg Lukas
|
* @author Georg Lukas
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -59,7 +59,7 @@ import org.jxmpp.jid.Jid;
|
||||||
* </ol>
|
* </ol>
|
||||||
*
|
*
|
||||||
* For example to get the idle time of a user logged in a resource, simple send
|
* For example to get the idle time of a user logged in a resource, simple send
|
||||||
* the LastActivity stanza(/packet) to them, as in the following code:
|
* the LastActivity stanza to them, as in the following code:
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* XMPPConnection con = new XMPPTCPConnection("jabber.org");
|
* XMPPConnection con = new XMPPTCPConnection("jabber.org");
|
||||||
|
@ -74,7 +74,7 @@ import org.jxmpp.jid.Jid;
|
||||||
* LastActivity activity = LastActivity.getLastActivity(con, "xray@jabber.org");
|
* LastActivity activity = LastActivity.getLastActivity(con, "xray@jabber.org");
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* To get the uptime of a host, you simple send the LastActivity stanza(/packet) to it,
|
* To get the uptime of a host, you simple send the LastActivity stanza to it,
|
||||||
* as in the following code example:
|
* as in the following code example:
|
||||||
* <p>
|
* <p>
|
||||||
*
|
*
|
||||||
|
@ -228,7 +228,7 @@ public final class LastActivityManager extends Manager {
|
||||||
*
|
*
|
||||||
* @param jid
|
* @param jid
|
||||||
* the JID of the user.
|
* the JID of the user.
|
||||||
* @return the LastActivity stanza(/packet) of the jid.
|
* @return the LastActivity stanza of the jid.
|
||||||
* @throws XMPPErrorException
|
* @throws XMPPErrorException
|
||||||
* thrown if a server error has occured.
|
* thrown if a server error has occured.
|
||||||
* @throws NoResponseException if there was no response from the server.
|
* @throws NoResponseException if there was no response from the server.
|
||||||
|
|
|
@ -82,7 +82,7 @@ public final class PrivateDataManager extends Manager {
|
||||||
/**
|
/**
|
||||||
* Returns the private data provider registered to the specified XML element name and namespace.
|
* Returns the private data provider registered to the specified XML element name and namespace.
|
||||||
* For example, if a provider was registered to the element name "prefs" and the
|
* For example, if a provider was registered to the element name "prefs" and the
|
||||||
* namespace "http://www.xmppclient.com/prefs", then the following stanza(/packet) would trigger
|
* namespace "http://www.xmppclient.com/prefs", then the following stanza would trigger
|
||||||
* the provider:
|
* the provider:
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
|
|
|
@ -64,7 +64,7 @@ public class DefaultPrivateData implements PrivateData {
|
||||||
/**
|
/**
|
||||||
* Returns the XML element name of the private data sub-packet root element.
|
* Returns the XML element name of the private data sub-packet root element.
|
||||||
*
|
*
|
||||||
* @return the XML element name of the stanza(/packet) extension.
|
* @return the XML element name of the stanza extension.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getElementName() {
|
public String getElementName() {
|
||||||
|
@ -74,7 +74,7 @@ public class DefaultPrivateData implements PrivateData {
|
||||||
/**
|
/**
|
||||||
* Returns the XML namespace of the private data sub-packet root element.
|
* Returns the XML namespace of the private data sub-packet root element.
|
||||||
*
|
*
|
||||||
* @return the XML namespace of the stanza(/packet) extension.
|
* @return the XML namespace of the stanza extension.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getNamespace() {
|
public String getNamespace() {
|
||||||
|
|
|
@ -99,7 +99,7 @@ public final class AccountManager extends Manager {
|
||||||
/**
|
/**
|
||||||
* Flag that indicates whether the server supports In-Band Registration.
|
* Flag that indicates whether the server supports In-Band Registration.
|
||||||
* In-Band Registration may be advertised as a stream feature. If no stream feature
|
* In-Band Registration may be advertised as a stream feature. If no stream feature
|
||||||
* was advertised from the server then try sending an IQ stanza(/packet) to discover if In-Band
|
* was advertised from the server then try sending an IQ stanza to discover if In-Band
|
||||||
* Registration is available.
|
* Registration is available.
|
||||||
*/
|
*/
|
||||||
private boolean accountCreationSupported = false;
|
private boolean accountCreationSupported = false;
|
||||||
|
@ -116,7 +116,7 @@ public final class AccountManager extends Manager {
|
||||||
/**
|
/**
|
||||||
* Sets whether the server supports In-Band Registration. In-Band Registration may be
|
* Sets whether the server supports In-Band Registration. In-Band Registration may be
|
||||||
* advertised as a stream feature. If no stream feature was advertised from the server
|
* advertised as a stream feature. If no stream feature was advertised from the server
|
||||||
* then try sending an IQ stanza(/packet) to discover if In-Band Registration is available.
|
* then try sending an IQ stanza to discover if In-Band Registration is available.
|
||||||
*
|
*
|
||||||
* @param accountCreationSupported true if the server supports In-Band Registration.
|
* @param accountCreationSupported true if the server supports In-Band Registration.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -29,7 +29,7 @@ public class JivePropertiesManager {
|
||||||
private static boolean javaObjectEnabled = false;
|
private static boolean javaObjectEnabled = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enables deserialization of Java objects embedded in the 'properties' stanza(/packet) extension. Since
|
* Enables deserialization of Java objects embedded in the 'properties' stanza extension. Since
|
||||||
* this is a security sensitive feature, it is disabled per default in Smack. Only enable it if
|
* this is a security sensitive feature, it is disabled per default in Smack. Only enable it if
|
||||||
* you are sure that you understand the potential security implications it can cause.
|
* you are sure that you understand the potential security implications it can cause.
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -51,7 +51,7 @@ public class JivePropertiesManager {
|
||||||
/**
|
/**
|
||||||
* Convenience method to add a property to a packet.
|
* Convenience method to add a property to a packet.
|
||||||
*
|
*
|
||||||
* @param packet the stanza(/packet) to add the property to.
|
* @param packet the stanza to add the property to.
|
||||||
* @param name the name of the property to add.
|
* @param name the name of the property to add.
|
||||||
* @param value the value of the property to add.
|
* @param value the value of the property to add.
|
||||||
*/
|
*/
|
||||||
|
@ -65,7 +65,7 @@ public class JivePropertiesManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convenience method to get a property from a packet. Will return null if the stanza(/packet) contains
|
* Convenience method to get a property from a packet. Will return null if the stanza contains
|
||||||
* not property with the given name.
|
* not property with the given name.
|
||||||
*
|
*
|
||||||
* @param packet
|
* @param packet
|
||||||
|
@ -97,7 +97,7 @@ public class JivePropertiesManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a map of all properties of the given packet. If the stanza(/packet) contains no properties
|
* Return a map of all properties of the given packet. If the stanza contains no properties
|
||||||
* extension, an empty map will be returned.
|
* extension, an empty map will be returned.
|
||||||
*
|
*
|
||||||
* @param packet
|
* @param packet
|
||||||
|
|
|
@ -41,7 +41,7 @@ import org.jivesoftware.smack.util.stringencoder.Base64;
|
||||||
*/
|
*/
|
||||||
public class JivePropertiesExtension implements ExtensionElement {
|
public class JivePropertiesExtension implements ExtensionElement {
|
||||||
/**
|
/**
|
||||||
* Namespace used to store stanza(/packet) properties.
|
* Namespace used to store stanza properties.
|
||||||
*/
|
*/
|
||||||
public static final String NAMESPACE = "http://www.jivesoftware.com/xmlns/xmpp/properties";
|
public static final String NAMESPACE = "http://www.jivesoftware.com/xmlns/xmpp/properties";
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ public class JivePropertiesExtension implements ExtensionElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the stanza(/packet) property with the specified name or <tt>null</tt> if the
|
* Returns the stanza property with the specified name or <tt>null</tt> if the
|
||||||
* property doesn't exist. Property values that were originally primitives will
|
* property doesn't exist. Property values that were originally primitives will
|
||||||
* be returned as their object equivalent. For example, an int property will be
|
* be returned as their object equivalent. For example, an int property will be
|
||||||
* returned as an Integer, a double as a Double, etc.
|
* returned as an Integer, a double as a Double, etc.
|
||||||
|
|
|
@ -41,7 +41,7 @@ public class JivePropertiesExtensionProvider extends ExtensionElementProvider<Ji
|
||||||
* Parse a properties sub-packet. If any errors occur while de-serializing Java object
|
* Parse a properties sub-packet. If any errors occur while de-serializing Java object
|
||||||
* properties, an exception will be printed and not thrown since a thrown exception will shut
|
* properties, an exception will be printed and not thrown since a thrown exception will shut
|
||||||
* down the entire connection. ClassCastExceptions will occur when both the sender and receiver
|
* down the entire connection. ClassCastExceptions will occur when both the sender and receiver
|
||||||
* of the stanza(/packet) don't have identical versions of the same class.
|
* of the stanza don't have identical versions of the same class.
|
||||||
* <p>
|
* <p>
|
||||||
* Note that you have to explicitly enabled Java object deserialization with @{link
|
* Note that you have to explicitly enabled Java object deserialization with @{link
|
||||||
* {@link JivePropertiesManager#setJavaObjectEnabled(boolean)}
|
* {@link JivePropertiesManager#setJavaObjectEnabled(boolean)}
|
||||||
|
|
|
@ -1006,7 +1006,7 @@ public class MultiUserChat {
|
||||||
* is going to be sent by this MultiUserChat to the server. Stanza(/Packet) interceptors may
|
* is going to be sent by this MultiUserChat to the server. Stanza(/Packet) interceptors may
|
||||||
* add new extensions to the presence that is going to be sent to the MUC service.
|
* add new extensions to the presence that is going to be sent to the MUC service.
|
||||||
*
|
*
|
||||||
* @param presenceInterceptor the new stanza(/packet) interceptor that will intercept presence packets.
|
* @param presenceInterceptor the new stanza interceptor that will intercept presence packets.
|
||||||
*/
|
*/
|
||||||
public void addPresenceInterceptor(PresenceListener presenceInterceptor) {
|
public void addPresenceInterceptor(PresenceListener presenceInterceptor) {
|
||||||
presenceInterceptors.add(presenceInterceptor);
|
presenceInterceptors.add(presenceInterceptor);
|
||||||
|
@ -1017,7 +1017,7 @@ public class MultiUserChat {
|
||||||
* was being sent by this MultiUserChat to the server. Stanza(/Packet) interceptors may
|
* was being sent by this MultiUserChat to the server. Stanza(/Packet) interceptors may
|
||||||
* add new extensions to the presence that is going to be sent to the MUC service.
|
* add new extensions to the presence that is going to be sent to the MUC service.
|
||||||
*
|
*
|
||||||
* @param presenceInterceptor the stanza(/packet) interceptor to remove.
|
* @param presenceInterceptor the stanza interceptor to remove.
|
||||||
*/
|
*/
|
||||||
public void removePresenceInterceptor(PresenceListener presenceInterceptor) {
|
public void removePresenceInterceptor(PresenceListener presenceInterceptor) {
|
||||||
presenceInterceptors.remove(presenceInterceptor);
|
presenceInterceptors.remove(presenceInterceptor);
|
||||||
|
@ -1693,11 +1693,11 @@ public class MultiUserChat {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a stanza(/packet) listener that will be notified of any new Presence packets
|
* Adds a stanza listener that will be notified of any new Presence packets
|
||||||
* sent to the group chat. Using a listener is a suitable way to know when the list
|
* sent to the group chat. Using a listener is a suitable way to know when the list
|
||||||
* of occupants should be re-loaded due to any changes.
|
* of occupants should be re-loaded due to any changes.
|
||||||
*
|
*
|
||||||
* @param listener a stanza(/packet) listener that will be notified of any presence packets
|
* @param listener a stanza listener that will be notified of any presence packets
|
||||||
* sent to the group chat.
|
* sent to the group chat.
|
||||||
* @return true if the listener was not already added.
|
* @return true if the listener was not already added.
|
||||||
*/
|
*/
|
||||||
|
@ -1706,10 +1706,10 @@ public class MultiUserChat {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a stanza(/packet) listener that was being notified of any new Presence packets
|
* Removes a stanza listener that was being notified of any new Presence packets
|
||||||
* sent to the group chat.
|
* sent to the group chat.
|
||||||
*
|
*
|
||||||
* @param listener a stanza(/packet) listener that was being notified of any presence packets
|
* @param listener a stanza listener that was being notified of any presence packets
|
||||||
* sent to the group chat.
|
* sent to the group chat.
|
||||||
* @return true if the listener was removed, otherwise the listener was not added previously.
|
* @return true if the listener was removed, otherwise the listener was not added previously.
|
||||||
*/
|
*/
|
||||||
|
@ -1941,7 +1941,7 @@ public class MultiUserChat {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the next available message in the chat. The method call will block
|
* Returns the next available message in the chat. The method call will block
|
||||||
* (not return) until a stanza(/packet) is available or the <tt>timeout</tt> has elapased.
|
* (not return) until a stanza is available or the <tt>timeout</tt> has elapased.
|
||||||
* If the timeout elapses without a result, <tt>null</tt> will be returned.
|
* If the timeout elapses without a result, <tt>null</tt> will be returned.
|
||||||
*
|
*
|
||||||
* @param timeout the maximum amount of time to wait for the next message.
|
* @param timeout the maximum amount of time to wait for the next message.
|
||||||
|
@ -1958,14 +1958,14 @@ public class MultiUserChat {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a stanza(/packet) listener that will be notified of any new messages in the
|
* Adds a stanza listener that will be notified of any new messages in the
|
||||||
* group chat. Only "group chat" messages addressed to this group chat will
|
* group chat. Only "group chat" messages addressed to this group chat will
|
||||||
* be delivered to the listener. If you wish to listen for other packets
|
* be delivered to the listener. If you wish to listen for other packets
|
||||||
* that may be associated with this group chat, you should register a
|
* that may be associated with this group chat, you should register a
|
||||||
* PacketListener directly with the XMPPConnection with the appropriate
|
* PacketListener directly with the XMPPConnection with the appropriate
|
||||||
* PacketListener.
|
* PacketListener.
|
||||||
*
|
*
|
||||||
* @param listener a stanza(/packet) listener.
|
* @param listener a stanza listener.
|
||||||
* @return true if the listener was not already added.
|
* @return true if the listener was not already added.
|
||||||
*/
|
*/
|
||||||
public boolean addMessageListener(MessageListener listener) {
|
public boolean addMessageListener(MessageListener listener) {
|
||||||
|
@ -1973,11 +1973,11 @@ public class MultiUserChat {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a stanza(/packet) listener that was being notified of any new messages in the
|
* Removes a stanza listener that was being notified of any new messages in the
|
||||||
* multi user chat. Only "group chat" messages addressed to this multi user chat were
|
* multi user chat. Only "group chat" messages addressed to this multi user chat were
|
||||||
* being delivered to the listener.
|
* being delivered to the listener.
|
||||||
*
|
*
|
||||||
* @param listener a stanza(/packet) listener.
|
* @param listener a stanza listener.
|
||||||
* @return true if the listener was removed, otherwise the listener was not added previously.
|
* @return true if the listener was removed, otherwise the listener was not added previously.
|
||||||
*/
|
*/
|
||||||
public boolean removeMessageListener(MessageListener listener) {
|
public boolean removeMessageListener(MessageListener listener) {
|
||||||
|
|
|
@ -75,7 +75,7 @@ public class RoomInfo {
|
||||||
*/
|
*/
|
||||||
private final boolean moderated;
|
private final boolean moderated;
|
||||||
/**
|
/**
|
||||||
* Every presence stanza(/packet) can include the JID of every occupant unless the owner deactives this
|
* Every presence stanza can include the JID of every occupant unless the owner deactives this
|
||||||
* configuration.
|
* configuration.
|
||||||
*/
|
*/
|
||||||
private final boolean nonanonymous;
|
private final boolean nonanonymous;
|
||||||
|
|
|
@ -28,7 +28,7 @@ import org.xmlpull.v1.XmlPullParser;
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
import org.xmlpull.v1.XmlPullParserException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A group chat invitation stanza(/packet) extension, which is used to invite other
|
* A group chat invitation stanza extension, which is used to invite other
|
||||||
* users to a group chat room. To invite a user to a group chat room, address
|
* users to a group chat room. To invite a user to a group chat room, address
|
||||||
* a new message to the user and set the room name appropriately, as in the
|
* a new message to the user and set the room name appropriately, as in the
|
||||||
* following code example:
|
* following code example:
|
||||||
|
@ -46,7 +46,7 @@ import org.xmlpull.v1.XmlPullParserException;
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* PacketFilter filter = new StanzaExtensionFilter("x", "jabber:x:conference");
|
* PacketFilter filter = new StanzaExtensionFilter("x", "jabber:x:conference");
|
||||||
* // Create a stanza(/packet) collector or stanza(/packet) listeners using the filter...
|
* // Create a stanza collector or stanza listeners using the filter...
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <b>Note</b>: this protocol is outdated now that the Multi-User Chat (MUC) XEP is available
|
* <b>Note</b>: this protocol is outdated now that the Multi-User Chat (MUC) XEP is available
|
||||||
|
@ -59,12 +59,12 @@ import org.xmlpull.v1.XmlPullParserException;
|
||||||
public class GroupChatInvitation implements ExtensionElement {
|
public class GroupChatInvitation implements ExtensionElement {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Element name of the stanza(/packet) extension.
|
* Element name of the stanza extension.
|
||||||
*/
|
*/
|
||||||
public static final String ELEMENT = "x";
|
public static final String ELEMENT = "x";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Namespace of the stanza(/packet) extension.
|
* Namespace of the stanza extension.
|
||||||
*/
|
*/
|
||||||
public static final String NAMESPACE = "jabber:x:conference";
|
public static final String NAMESPACE = "jabber:x:conference";
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ import java.util.List;
|
||||||
import org.jivesoftware.smack.packet.IQ;
|
import org.jivesoftware.smack.packet.IQ;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IQ stanza(/packet) that serves for kicking users, granting and revoking voice, banning users,
|
* IQ stanza that serves for kicking users, granting and revoking voice, banning users,
|
||||||
* modifying the ban list, granting and revoking membership and granting and revoking
|
* modifying the ban list, granting and revoking membership and granting and revoking
|
||||||
* moderator privileges. All these operations are scoped by the
|
* moderator privileges. All these operations are scoped by the
|
||||||
* 'http://jabber.org/protocol/muc#admin' namespace.
|
* 'http://jabber.org/protocol/muc#admin' namespace.
|
||||||
|
|
|
@ -23,7 +23,7 @@ import java.util.List;
|
||||||
import org.jivesoftware.smack.packet.IQ;
|
import org.jivesoftware.smack.packet.IQ;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IQ stanza(/packet) that serves for granting and revoking ownership privileges, granting
|
* IQ stanza that serves for granting and revoking ownership privileges, granting
|
||||||
* and revoking administrative privileges and destroying a room. All these operations
|
* and revoking administrative privileges and destroying a room. All these operations
|
||||||
* are scoped by the 'http://jabber.org/protocol/muc#owner' namespace.
|
* are scoped by the 'http://jabber.org/protocol/muc#owner' namespace.
|
||||||
*
|
*
|
||||||
|
|
|
@ -138,7 +138,7 @@ public class MUCUser implements ExtensionElement {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the notification that the room has been destroyed. After a room has been destroyed,
|
* Returns the notification that the room has been destroyed. After a room has been destroyed,
|
||||||
* the room occupants will receive a Presence stanza(/packet) of type 'unavailable' with the reason for
|
* the room occupants will receive a Presence stanza of type 'unavailable' with the reason for
|
||||||
* the room destruction if provided by the room owner.
|
* the room destruction if provided by the room owner.
|
||||||
*
|
*
|
||||||
* @return a notification that the room has been destroyed.
|
* @return a notification that the room has been destroyed.
|
||||||
|
@ -208,7 +208,7 @@ public class MUCUser implements ExtensionElement {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the notification that the room has been destroyed. After a room has been destroyed,
|
* Sets the notification that the room has been destroyed. After a room has been destroyed,
|
||||||
* the room occupants will receive a Presence stanza(/packet) of type 'unavailable' with the reason for
|
* the room occupants will receive a Presence stanza of type 'unavailable' with the reason for
|
||||||
* the room destruction if provided by the room owner.
|
* the room destruction if provided by the room owner.
|
||||||
*
|
*
|
||||||
* @param destroy the notification that the room has been destroyed.
|
* @param destroy the notification that the room has been destroyed.
|
||||||
|
|
|
@ -38,7 +38,7 @@ import org.xmlpull.v1.XmlPullParserException;
|
||||||
public class MUCUserProvider extends ExtensionElementProvider<MUCUser> {
|
public class MUCUserProvider extends ExtensionElementProvider<MUCUser> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses a MUCUser stanza(/packet) (extension sub-packet).
|
* Parses a MUCUser stanza (extension sub-packet).
|
||||||
*
|
*
|
||||||
* @param parser the XML parser, positioned at the starting element of the extension.
|
* @param parser the XML parser, positioned at the starting element of the extension.
|
||||||
* @return a PacketExtension.
|
* @return a PacketExtension.
|
||||||
|
|
|
@ -41,7 +41,7 @@ public class OfflineMessageInfo implements ExtensionElement {
|
||||||
* Returns the XML element name of the extension sub-packet root element.
|
* Returns the XML element name of the extension sub-packet root element.
|
||||||
* Always returns "offline"
|
* Always returns "offline"
|
||||||
*
|
*
|
||||||
* @return the XML element name of the stanza(/packet) extension.
|
* @return the XML element name of the stanza extension.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getElementName() {
|
public String getElementName() {
|
||||||
|
@ -52,7 +52,7 @@ public class OfflineMessageInfo implements ExtensionElement {
|
||||||
* Returns the XML namespace of the extension sub-packet root element.
|
* Returns the XML namespace of the extension sub-packet root element.
|
||||||
* According the specification the namespace is always "http://jabber.org/protocol/offline"
|
* According the specification the namespace is always "http://jabber.org/protocol/offline"
|
||||||
*
|
*
|
||||||
* @return the XML namespace of the stanza(/packet) extension.
|
* @return the XML namespace of the stanza extension.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getNamespace() {
|
public String getNamespace() {
|
||||||
|
@ -95,7 +95,7 @@ public class OfflineMessageInfo implements ExtensionElement {
|
||||||
public static class Provider extends ExtensionElementProvider<OfflineMessageInfo> {
|
public static class Provider extends ExtensionElementProvider<OfflineMessageInfo> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses a OfflineMessageInfo stanza(/packet) (extension sub-packet).
|
* Parses a OfflineMessageInfo stanza (extension sub-packet).
|
||||||
*
|
*
|
||||||
* @param parser the XML parser, positioned at the starting element of the extension.
|
* @param parser the XML parser, positioned at the starting element of the extension.
|
||||||
* @return a PacketExtension.
|
* @return a PacketExtension.
|
||||||
|
|
|
@ -218,10 +218,10 @@ public final class PrivacyListManager extends Manager {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send the {@link Privacy} stanza(/packet) to the server in order to know some privacy content and then
|
* Send the {@link Privacy} stanza to the server in order to know some privacy content and then
|
||||||
* waits for the answer.
|
* waits for the answer.
|
||||||
*
|
*
|
||||||
* @param requestPrivacy is the {@link Privacy} stanza(/packet) configured properly whose XML
|
* @param requestPrivacy is the {@link Privacy} stanza configured properly whose XML
|
||||||
* will be sent to the server.
|
* will be sent to the server.
|
||||||
* @return a new {@link Privacy} with the data received from the server.
|
* @return a new {@link Privacy} with the data received from the server.
|
||||||
* @throws XMPPErrorException
|
* @throws XMPPErrorException
|
||||||
|
@ -237,10 +237,10 @@ public final class PrivacyListManager extends Manager {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send the {@link Privacy} stanza(/packet) to the server in order to modify the server privacy and waits
|
* Send the {@link Privacy} stanza to the server in order to modify the server privacy and waits
|
||||||
* for the answer.
|
* for the answer.
|
||||||
*
|
*
|
||||||
* @param requestPrivacy is the {@link Privacy} stanza(/packet) configured properly whose xml will be
|
* @param requestPrivacy is the {@link Privacy} stanza configured properly whose xml will be
|
||||||
* sent to the server.
|
* sent to the server.
|
||||||
* @return a new {@link Privacy} with the data received from the server.
|
* @return a new {@link Privacy} with the data received from the server.
|
||||||
* @throws XMPPErrorException
|
* @throws XMPPErrorException
|
||||||
|
|
|
@ -19,7 +19,7 @@ package org.jivesoftware.smackx.privacy.packet;
|
||||||
import org.jivesoftware.smack.util.NumberUtil;
|
import org.jivesoftware.smack.util.NumberUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A privacy item acts a rule that when matched defines if a stanza(/packet) should be blocked or not.
|
* A privacy item acts a rule that when matched defines if a stanza should be blocked or not.
|
||||||
*
|
*
|
||||||
* Privacy Items can handle different kind of blocking communications based on JID, group,
|
* Privacy Items can handle different kind of blocking communications based on JID, group,
|
||||||
* subscription type or globally by:<ul>
|
* subscription type or globally by:<ul>
|
||||||
|
|
|
@ -19,7 +19,7 @@ package org.jivesoftware.smackx.pubsub;
|
||||||
import org.jivesoftware.smackx.xdata.Form;
|
import org.jivesoftware.smackx.xdata.Form;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generic stanza(/packet) extension which represents any PubSub form that is
|
* Generic stanza extension which represents any PubSub form that is
|
||||||
* parsed from the incoming stream or being sent out to the server.
|
* parsed from the incoming stream or being sent out to the server.
|
||||||
*
|
*
|
||||||
* Form types are defined in {@link FormNodeType}.
|
* Form types are defined in {@link FormNodeType}.
|
||||||
|
|
|
@ -170,7 +170,7 @@ public class LeafNode extends Node
|
||||||
* Get items persisted on the node.
|
* Get items persisted on the node.
|
||||||
* <p>
|
* <p>
|
||||||
* {@code additionalExtensions} can be used e.g. to add a "Result Set Management" extension.
|
* {@code additionalExtensions} can be used e.g. to add a "Result Set Management" extension.
|
||||||
* {@code returnedExtensions} will be filled with the stanza(/packet) extensions found in the answer.
|
* {@code returnedExtensions} will be filled with the stanza extensions found in the answer.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param additionalExtensions additional {@code PacketExtensions} to be added to the request.
|
* @param additionalExtensions additional {@code PacketExtensions} to be added to the request.
|
||||||
|
|
|
@ -145,7 +145,7 @@ public abstract class Node
|
||||||
* Get the subscriptions currently associated with this node.
|
* Get the subscriptions currently associated with this node.
|
||||||
* <p>
|
* <p>
|
||||||
* {@code additionalExtensions} can be used e.g. to add a "Result Set Management" extension.
|
* {@code additionalExtensions} can be used e.g. to add a "Result Set Management" extension.
|
||||||
* {@code returnedExtensions} will be filled with the stanza(/packet) extensions found in the answer.
|
* {@code returnedExtensions} will be filled with the stanza extensions found in the answer.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param additionalExtensions
|
* @param additionalExtensions
|
||||||
|
@ -187,11 +187,11 @@ public abstract class Node
|
||||||
* </p>
|
* </p>
|
||||||
* <p>
|
* <p>
|
||||||
* {@code additionalExtensions} can be used e.g. to add a "Result Set Management" extension.
|
* {@code additionalExtensions} can be used e.g. to add a "Result Set Management" extension.
|
||||||
* {@code returnedExtensions} will be filled with the stanza(/packet) extensions found in the answer.
|
* {@code returnedExtensions} will be filled with the stanza extensions found in the answer.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param additionalExtensions
|
* @param additionalExtensions
|
||||||
* @param returnedExtensions a collection that will be filled with the returned stanza(/packet) extensions
|
* @param returnedExtensions a collection that will be filled with the returned stanza extensions
|
||||||
* @return List of {@link Subscription}
|
* @return List of {@link Subscription}
|
||||||
* @throws NoResponseException
|
* @throws NoResponseException
|
||||||
* @throws XMPPErrorException
|
* @throws XMPPErrorException
|
||||||
|
@ -242,7 +242,7 @@ public abstract class Node
|
||||||
* Get the affiliations of this node.
|
* Get the affiliations of this node.
|
||||||
* <p>
|
* <p>
|
||||||
* {@code additionalExtensions} can be used e.g. to add a "Result Set Management" extension.
|
* {@code additionalExtensions} can be used e.g. to add a "Result Set Management" extension.
|
||||||
* {@code returnedExtensions} will be filled with the stanza(/packet) extensions found in the answer.
|
* {@code returnedExtensions} will be filled with the stanza extensions found in the answer.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @param additionalExtensions additional {@code PacketExtensions} add to the request
|
* @param additionalExtensions additional {@code PacketExtensions} add to the request
|
||||||
|
|
|
@ -19,7 +19,7 @@ package org.jivesoftware.smackx.pubsub;
|
||||||
import org.jivesoftware.smack.util.XmlStringBuilder;
|
import org.jivesoftware.smack.util.XmlStringBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A stanza(/packet) extension representing the <b>options</b> element.
|
* A stanza extension representing the <b>options</b> element.
|
||||||
*
|
*
|
||||||
* @author Robin Collier
|
* @author Robin Collier
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -58,7 +58,7 @@ public class PubSub extends IQ
|
||||||
/**
|
/**
|
||||||
* Returns the XML representation of a pubsub element according the specification.
|
* Returns the XML representation of a pubsub element according the specification.
|
||||||
*
|
*
|
||||||
* The XML representation will be inside of an iq stanza(/packet) like
|
* The XML representation will be inside of an iq stanza like
|
||||||
* in the following example:
|
* in the following example:
|
||||||
* <pre>
|
* <pre>
|
||||||
* <iq type='set' id="MlIpV-4" to="pubsub.gato.home" from="gato3@gato.home/Smack">
|
* <iq type='set' id="MlIpV-4" to="pubsub.gato.home" from="gato3@gato.home/Smack">
|
||||||
|
|
|
@ -26,7 +26,7 @@ import org.jivesoftware.smackx.pubsub.packet.PubSubNamespace;
|
||||||
import org.xmlpull.v1.XmlPullParser;
|
import org.xmlpull.v1.XmlPullParser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses the root PubSub stanza(/packet) extensions of the {@link IQ} stanza(/packet) and returns
|
* Parses the root PubSub stanza extensions of the {@link IQ} stanza and returns
|
||||||
* a {@link PubSub} instance.
|
* a {@link PubSub} instance.
|
||||||
*
|
*
|
||||||
* @author Robin Collier
|
* @author Robin Collier
|
||||||
|
|
|
@ -35,7 +35,7 @@ public interface ReceiptReceivedListener {
|
||||||
*
|
*
|
||||||
* @param fromJid the jid that send this receipt
|
* @param fromJid the jid that send this receipt
|
||||||
* @param toJid the jid which received this receipt
|
* @param toJid the jid which received this receipt
|
||||||
* @param receiptId the message ID of the stanza(/packet) which has been received and this receipt is for
|
* @param receiptId the message ID of the stanza which has been received and this receipt is for
|
||||||
* @param receipt the receipt
|
* @param receipt the receipt
|
||||||
*/
|
*/
|
||||||
void onReceiptReceived(Jid fromJid, Jid toJid, String receiptId, Stanza receipt);
|
void onReceiptReceived(Jid fromJid, Jid toJid, String receiptId, Stanza receipt);
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue