All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.marketcetera.eventbus.EventBusService Maven / Gradle / Ivy

There is a newer version: 4.1.1
Show newest version
package org.marketcetera.eventbus;

/* $License$ */

/**
 * Provides event bus services.
 *
 * @author Colin DuPlantis
 * @version $Id: EventBusService.java 17816 2018-12-26 15:03:13Z colin $
 * @since $Release$
 */
public interface EventBusService
{
    /**
     * Register the given subscriber to appropriate events on the default topic.
     *
     * @param inSubscriber an Object value
     */
    void register(Object inSubscriber);
    /**
     * Register the given subscriber to appropriate events on the given topic.
     *
     * @param inSubscriber an Object value
     * @param inTopic a String value
     */
    void register(Object inSubscriber,
                  String inTopic);
    /**
     * Unregister the given subscriber from the default topic.
     *
     * @param inSubscriber an Object value
     */
    void unregister(Object inSubscriber);
    /**
     * Unregister the given subscriber from the given topic.
     *
     * @param inSubscriber an Object value
     * @param inTopic a String value
     */
    void unregister(Object inSubscriber,
                     String inTopic);
    /**
     * Post the given event to the default topic.
     *
     * @param inEvent an Object value
     */
    void post(Object inEvent);
    /**
     * Post the given event to the given topics.
     *
     * @param inEvent an Object value
     * @param inTopics a String[] value
     */
    void post(Object inEvent,
              String...inTopics);
    /**
     * default topic
     */
    public static final String defaultTopic = "metc.default.topic";
    /**
     * provides a common logger category
     */
    public static final String eventCategory = "metc.events";
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy