package context.arch.enactor; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; /** * A registry used by the EnactorSubscriptionManager to track widgets. * * @author newbergr */ public class WidgetIdRegistry { public WidgetIdRegEntry get(String widgetId) { return map.get(widgetId); } public WidgetIdRegEntry remove(String widgetId) { return map.remove(widgetId); } public WidgetIdRegEntry put(String widgetId, WidgetIdRegEntry re) { return map.put(widgetId, re); } private HashMap<String, WidgetIdRegEntry> map = new HashMap<String, WidgetIdRegEntry>(); static class WidgetIdRegEntry { public boolean addWidgetSubscription(String subId) { return widgetSubscriptions.add(subId); } public boolean removeWidgetSubscription(String subId) { return widgetSubscriptions.remove(subId); } public List<String> getWidgetSubscriptions() { return Collections.unmodifiableList(widgetSubscriptions); } private ArrayList<String> widgetSubscriptions = new ArrayList<String>(); } }