package io.netty.protocol.wamp.server;
import com.fasterxml.jackson.core.TreeNode;
public class ModeratedTopic extends Topic {
private final TopicModerator moderator;
public ModeratedTopic(final String topicURI, final TopicModerator moderator) {
super(topicURI);
this.moderator = moderator;
}
public ModeratedTopic(final String topicURI, final TopicModerator moderator, final Boolean notify) {
super(topicURI, notify);
this.moderator = moderator;
}
@Override
public void add(final Session session) {
if (moderator.mayAdd(session)) super.add(session);
}
@Override
public void remove(final Session session) {
moderator.remove(session);
super.remove(session);
}
@Override
public void post(final TreeNode event, final Session who) {
if (moderator.mayPost(event, who)) super.post(event, who);
}
}