![JAR search and dependency download from the Maven repository](/logo.png)
net.engio.mbassy.subscription.Subscription Maven / Gradle / Ivy
package net.engio.mbassy.subscription;
import net.engio.mbassy.bus.IMessagePublication;
import net.engio.mbassy.bus.MessagePublication;
import net.engio.mbassy.dispatch.IMessageDispatcher;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.UUID;
import java.util.concurrent.CopyOnWriteArrayList;
/**
* A subscription is a thread-safe container that manages exactly one message handler of all registered
* message listeners of the same class, i.e. all subscribed instances (excluding subclasses) of a SingleMessageHandler.class
* will be referenced in the subscription created for SingleMessageHandler.class.
*
* There will be as many unique subscription objects per message listener class as there are message handlers
* defined in the message listeners class hierarchy.
*
* The subscription provides functionality for message publication by means of delegation to the respective
* message dispatcher.
*
*/
public class Subscription {
private final UUID id = UUID.randomUUID();
protected final Collection
© 2015 - 2025 Weber Informatics LLC | Privacy Policy