Package rocks.xmpp.extensions.receipts
Class MessageDeliveryReceiptsManager
- java.lang.Object
-
- rocks.xmpp.core.session.Manager
-
- rocks.xmpp.extensions.receipts.MessageDeliveryReceiptsManager
-
- All Implemented Interfaces:
ExtensionProtocol,InboundMessageHandler,OutboundMessageHandler,DiscoverableInfo
public final class MessageDeliveryReceiptsManager extends Manager implements ExtensionProtocol, InboundMessageHandler, OutboundMessageHandler, DiscoverableInfo
The implementation of XEP-0184: Message Delivery Receipts.This manager automatically adds message delivery requests to outbound messages, if enabled. If a message has been received by the recipient, registered listeners will be notified about the receipt.
If an inbound message contains a delivery receipt request, a receipt is automatically sent back to the requesting entity.
Note that messages must contain an id, in order to track receipts. If a message does not contain an id, requests won't be added.
Code sample
MessageDeliveryReceiptsManager manager =xmppSession.getManager(MessageDeliveryReceiptsManager.class); manager.addMessageDeliveredListener(e -> System.out.println("Message delivered: " + e.getMessageId()));
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMessageDeliveredListener(Consumer<MessageDeliveredEvent> messageDeliveredListener)Adds a message delivered listener, which allows to listen for delivered messages.Set<String>getFeatures()Gets the features.StringgetNamespace()The protocol's main namespace.voidhandleInboundMessage(MessageEvent e)Handles an inbound message.voidhandleOutboundMessage(MessageEvent e)Handles an outbound message.voidremoveMessageDeliveredListener(Consumer<MessageDeliveredEvent> messageDeliveredListener)Removes a previously added message delivered listener.voidsetMessageFilter(Predicate<Message> messageFilter)Outbound messages, which pass the filter automatically request a receipt, i.e. a<request/>extension.-
Methods inherited from class rocks.xmpp.core.session.Manager
isEnabled, setEnabled
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface rocks.xmpp.extensions.disco.model.info.DiscoverableInfo
getExtensions, getIdentities
-
Methods inherited from interface rocks.xmpp.core.ExtensionProtocol
isEnabled
-
-
-
-
Method Detail
-
addMessageDeliveredListener
public void addMessageDeliveredListener(Consumer<MessageDeliveredEvent> messageDeliveredListener)
Adds a message delivered listener, which allows to listen for delivered messages.- Parameters:
messageDeliveredListener- The listener.- See Also:
removeMessageDeliveredListener(Consumer)
-
removeMessageDeliveredListener
public void removeMessageDeliveredListener(Consumer<MessageDeliveredEvent> messageDeliveredListener)
Removes a previously added message delivered listener.- Parameters:
messageDeliveredListener- The listener.- See Also:
addMessageDeliveredListener(Consumer)
-
setMessageFilter
public void setMessageFilter(Predicate<Message> messageFilter)
Outbound messages, which pass the filter automatically request a receipt, i.e. a<request/>extension.- Parameters:
messageFilter- The message filter.
-
handleInboundMessage
public void handleInboundMessage(MessageEvent e)
Description copied from interface:InboundMessageHandlerHandles an inbound message.- Specified by:
handleInboundMessagein interfaceInboundMessageHandler- Parameters:
e- The message event.
-
handleOutboundMessage
public void handleOutboundMessage(MessageEvent e)
Description copied from interface:OutboundMessageHandlerHandles an outbound message.- Specified by:
handleOutboundMessagein interfaceOutboundMessageHandler- Parameters:
e- The message event.
-
getNamespace
public final String getNamespace()
Description copied from interface:ExtensionProtocolThe protocol's main namespace. This is used to uniquely identify the extension protocol.- Specified by:
getNamespacein interfaceExtensionProtocol- Returns:
- The main namespace.
-
getFeatures
public final Set<String> getFeatures()
Description copied from interface:DiscoverableInfoGets the features.- Specified by:
getFeaturesin interfaceDiscoverableInfo- Returns:
- The features.
-
-