package org.atomnuke.pubsub.sub;
import org.atomnuke.pubsub.eventlet.SubscriptionEventlet;
import org.atomnuke.pubsub.api.type.SubscriptionDocument;
import org.atomnuke.util.remote.CancellationRemote;
/**
*
* @author zinic
*/
public class ActiveSubscription {
private final RegexCategorySelector subscriptionSelector;
private final SubscriptionEventlet subscriptionEventlet;
private final CancellationRemote cancellationRemote;
private SubscriptionDocument subscriptionDocument;
public ActiveSubscription(RegexCategorySelector subscriptionSelector, SubscriptionEventlet subscriptionEventlet, CancellationRemote cancellationRemote) {
this.subscriptionSelector = subscriptionSelector;
this.subscriptionEventlet = subscriptionEventlet;
this.cancellationRemote = cancellationRemote;
}
public void cancel() {
cancellationRemote.cancel();
}
public SubscriptionDocument subscriptionDocument() {
return subscriptionDocument;
}
public RegexCategorySelector subscriptionSelector() {
return subscriptionSelector;
}
public SubscriptionEventlet subscriptionEventlet() {
return subscriptionEventlet;
}
}