From 8ded145b960a04f4bca5a234014e85f7014e563f Mon Sep 17 00:00:00 2001 From: andsel Date: Fri, 3 Aug 2012 16:22:25 +0200 Subject: [PATCH] Missed in prev commit --- .../spi/impl/SubscriptionsStore.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 parser/src/main/java/org/dna/mqtt/moquette/messaging/spi/impl/SubscriptionsStore.java diff --git a/parser/src/main/java/org/dna/mqtt/moquette/messaging/spi/impl/SubscriptionsStore.java b/parser/src/main/java/org/dna/mqtt/moquette/messaging/spi/impl/SubscriptionsStore.java new file mode 100644 index 00000000..2f41b89f --- /dev/null +++ b/parser/src/main/java/org/dna/mqtt/moquette/messaging/spi/impl/SubscriptionsStore.java @@ -0,0 +1,39 @@ +package org.dna.mqtt.moquette.messaging.spi.impl; + +import java.util.ArrayList; +import java.util.List; + +/** + * Represents a tree of published topics + * + * @author andrea + */ +public class SubscriptionsStore { + + private List subscriptions = new ArrayList(); + + public void add(Subscription newSubscription) { + if (subscriptions.contains(newSubscription)) { + return; + } + subscriptions.add(newSubscription); + } + + public List matches(String topic) { + List m = new ArrayList(); + for (Subscription sub : subscriptions) { + if (sub.match(topic)) { + m.add(sub); + } + } + return m; + } + + public boolean contains(Subscription sub) { + return subscriptions.contains(sub); + } + + public int size() { + return subscriptions.size(); + } +}