📄 topicsubscription.java
字号:
/* * JORAM: Java(TM) Open Reliable Asynchronous Messaging * Copyright (C) 2003 - 2005 ScalAgent Distributed Technologies * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA. * * Initial developer(s): Frederic Maistre (INRIA) * Contributor(s): ScalAgent Distributed Technologies */package org.objectweb.joram.mom.proxies;import fr.dyade.aaa.agent.AgentId;import java.util.Enumeration;import java.util.Hashtable;/** * The <code>TopicSubscription</code> class holds the parameters of a proxy's * subscription to a topic. */class TopicSubscription { /** Table of subscriptions selectors. */ private Hashtable subs; /** Last built selector. */ private String lastSelector = null; /** * Creates a <code>TopicSubscription</code> instance. */ TopicSubscription() { this.subs = new Hashtable(); } /** * Adds a new subscription or updates an existing one. * * @param name Subscription name. * @param selector Selector. */ void putSubscription(String name, String selector) { if (selector == null) selector = ""; subs.put(name, selector); } /** * Removes a subscription. * * @param name Subscription name. */ void removeSubscription(String name) { subs.remove(name); } /** Returns <code>true</code> if the subscriptions table is empty. */ boolean isEmpty() { return subs.isEmpty(); } /** Returns a selector built from the subscriptions' selectors. */ String buildSelector() { String currentSel; String builtSelector = null; for (Enumeration names = subs.keys(); names.hasMoreElements();) { currentSel = (String) subs.get(names.nextElement()); if (currentSel.equals("")) return ""; if (builtSelector == null) builtSelector = "(" + currentSel + ")"; else builtSelector = builtSelector + " OR (" + currentSel + ")"; } return builtSelector; } /** Sets the last selector value. */ void setLastSelector(String selector) { this.lastSelector = selector; } /** Returns the last selector value. */ String getLastSelector() { return lastSelector; } /** Returns the names of the subscriptions. */ Enumeration getNames() { return subs.keys(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -