Author: lischke Date: Mon Jan 17 17:03:36 2005 New Revision: 125454 URL: http://svn.apache.org/viewcvs?view=rev&rev=125454 Log: added SubscriptionStore Added: incubator/hermes/trunk/src/java/org/apache/ws/pubsub/SubscriptionStore.java
Added: incubator/hermes/trunk/src/java/org/apache/ws/pubsub/SubscriptionStore.java Url: http://svn.apache.org/viewcvs/incubator/hermes/trunk/src/java/org/apache/ws/pubsub/SubscriptionStore.java?view=auto&rev=125454 ============================================================================== --- (empty file) +++ incubator/hermes/trunk/src/java/org/apache/ws/pubsub/SubscriptionStore.java Mon Jan 17 17:03:36 2005 @@ -0,0 +1,46 @@ +package org.apache.ws.pubsub; + + +/** + * A SubscriptionStore is an instance where Subscriptions + * are stored and filtering is taking place. + * That can be done by brute force filtering + * (applying one filter after another). Or for example with + * a shared Path machine like XPath. + * + * A SubscriptionStore is needed at the publisher side and (maybe) + * on the subscriber side. + */ +public interface SubscriptionStore { + + + /** + * Adds a Subscription to the SubscriptionStore + * @return the id of the Subscription in the SubStore + * @param s the subscription to be added + */ + public String addSubscription(Subscription s); + /** + * removes a Subscription by id from he SubscriptionStore + * @param id the distinct id of a Subscription + * which is equivalent to the EndpointParameter + * of the SubscriptionManager + */ + public void removeSubscription(String id); + + /** + * Starts Filtering of the given message. On all matching Subscriptions, + * the NotificationConsumer is executed -> + * NotificationConsumer.notify(Subscription, message) + * @param message The notification + */ + public void notify(Object message); + + /** + * Returns a Subscription. + * @param id The id of the Subscription. which is equivalent to the EndpointParameter + * of the SubscriptionManager + * @return The Subscription + */ + public Subscription getSubscription(String id); +} --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
