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 void
addMessageDeliveredListener(Consumer<MessageDeliveredEvent> messageDeliveredListener)
Adds a message delivered listener, which allows to listen for delivered messages.Set<String>
getFeatures()
Gets the features.String
getNamespace()
The protocol's main namespace.void
handleInboundMessage(MessageEvent e)
Handles an inbound message.void
handleOutboundMessage(MessageEvent e)
Handles an outbound message.void
removeMessageDeliveredListener(Consumer<MessageDeliveredEvent> messageDeliveredListener)
Removes a previously added message delivered listener.void
setMessageFilter(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:InboundMessageHandler
Handles an inbound message.- Specified by:
handleInboundMessage
in interfaceInboundMessageHandler
- Parameters:
e
- The message event.
-
handleOutboundMessage
public void handleOutboundMessage(MessageEvent e)
Description copied from interface:OutboundMessageHandler
Handles an outbound message.- Specified by:
handleOutboundMessage
in interfaceOutboundMessageHandler
- Parameters:
e
- The message event.
-
getNamespace
public final String getNamespace()
Description copied from interface:ExtensionProtocol
The protocol's main namespace. This is used to uniquely identify the extension protocol.- Specified by:
getNamespace
in interfaceExtensionProtocol
- Returns:
- The main namespace.
-
getFeatures
public final Set<String> getFeatures()
Description copied from interface:DiscoverableInfo
Gets the features.- Specified by:
getFeatures
in interfaceDiscoverableInfo
- Returns:
- The features.
-
-