org.bushe.swing.event
Class EventBus

java.lang.Object
  extended by org.bushe.swing.event.EventBus

public class EventBus
extends Object

The EventBus provides event publication and subscription services. It is a simple static wrapper around a global instance of an EventService, specifically a SwingEventService by default.

For Swing Applications the EventBus is nearly all you need, besides some of your own Event classes (if so desired).

The EventBus is really just a convenience class that provides a static wrapper around a global EventService instance. This class exists solely for simplicity. Calling EventBus.subscribeXXX/publishXXX is equivalent to EventServiceLocator.getEventBusService().subscribeXXX/publishXXX, it is just shorter to type. See EventServiceLocator for details on how to customize the global EventService in place of the default SwingEventService.

See Also:
EventService, SwingEventService, See package JavaDoc for more information

Constructor Summary
EventBus()
           
 
Method Summary
static void clearAllSubscribers()
           
static void clearCache()
           
static void clearCache(Class eventClass)
           
static void clearCache(Pattern pattern)
           
static void clearCache(String topic)
           
static
<T> List<T>
getCachedEvents(Class<T> eventClass)
           
static List getCachedTopicData(String topic)
           
static int getCacheSizeForEventClass(Class eventClass)
           
static int getCacheSizeForTopic(String topic)
           
static int getDefaultCacheSizePerClassOrTopic()
           
static EventService getGlobalEventService()
          The EventBus uses a global static EventService.
static
<T> T
getLastEvent(Class<T> eventClass)
           
static Object getLastTopicData(String topic)
           
static
<T> List<T>
getSubscribers(Class<T> eventClass)
           
static
<T> List<T>
getSubscribers(Pattern pattern)
           
static
<T> List<T>
getSubscribers(String topic)
           
static
<T> List<T>
getSubscribers(Type type)
           
static
<T> List<T>
getSubscribersByPattern(String topic)
           
static
<T> List<T>
getSubscribersToClass(Class<T> eventClass)
           
static
<T> List<T>
getSubscribersToExactClass(Class<T> eventClass)
           
static
<T> List<T>
getSubscribersToTopic(String topic)
           
static
<T> List<T>
getVetoEventListeners(String topic)
           
static
<T> List<T>
getVetoSubscribers(Class<T> eventClass)
           
static
<T> List<T>
getVetoSubscribers(Pattern pattern)
           
static
<T> List<T>
getVetoSubscribers(String topic)
          Deprecated. use getVetoSubscribersToTopic instead for direct replacement, or use getVetoEventListeners to get topic and pattern matchers. In EventBus 2.0 this name will replace getVetoEventListeners() and have it's union functionality
static
<T> List<T>
getVetoSubscribersByPattern(String topic)
           
static
<T> List<T>
getVetoSubscribersToClass(Class<T> eventClass)
           
static
<T> List<T>
getVetoSubscribersToExactClass(Class<T> eventClass)
           
static
<T> List<T>
getVetoSubscribersToTopic(String topic)
           
static void publish(Object event)
           
static void publish(String topic, Object o)
           
static void publish(Type genericType, Object o)
           
static void setCacheSizeForEventClass(Class eventClass, int cacheSize)
           
static void setCacheSizeForTopic(Pattern pattern, int cacheSize)
           
static void setCacheSizeForTopic(String topicName, int cacheSize)
           
static void setDefaultCacheSizePerClassOrTopic(int defaultCacheSizePerClassOrTopic)
           
static boolean subscribe(Class eventClass, EventSubscriber subscriber)
           
static boolean subscribe(Pattern topicPattern, EventTopicSubscriber subscriber)
           
static boolean subscribe(String topic, EventTopicSubscriber subscriber)
           
static boolean subscribe(Type genericType, EventSubscriber subscriber)
           
static boolean subscribeExactly(Class eventClass, EventSubscriber subscriber)
           
static boolean subscribeExactlyStrongly(Class eventClass, EventSubscriber subscriber)
           
static boolean subscribeStrongly(Class eventClass, EventSubscriber subscriber)
           
static boolean subscribeStrongly(Pattern topicPattern, EventTopicSubscriber subscriber)
           
static boolean subscribeStrongly(String topic, EventTopicSubscriber subscriber)
           
static boolean subscribeVetoListener(Class eventClass, VetoEventListener vetoListener)
           
static boolean subscribeVetoListener(Pattern topicPattern, VetoTopicEventListener vetoListener)
           
static boolean subscribeVetoListener(String topic, VetoTopicEventListener vetoListener)
           
static boolean subscribeVetoListenerExactly(Class eventClass, VetoEventListener vetoListener)
           
static boolean subscribeVetoListenerExactlyStrongly(Class eventClass, VetoEventListener vetoListener)
           
static boolean subscribeVetoListenerStrongly(Class eventClass, VetoEventListener vetoListener)
           
static boolean subscribeVetoListenerStrongly(Pattern topicPattern, VetoTopicEventListener vetoListener)
           
static boolean subscribeVetoListenerStrongly(String topic, VetoTopicEventListener vetoListener)
           
static boolean unsubscribe(Class eventClass, EventSubscriber subscriber)
           
static boolean unsubscribe(Class eventClass, Object object)
          For usage with annotations.
static boolean unsubscribe(Pattern topicPattern, EventTopicSubscriber subscriber)
           
static boolean unsubscribe(Pattern topicPattern, Object subscriber)
          For usage with annotations.
static boolean unsubscribe(String topic, EventTopicSubscriber subscriber)
           
static boolean unsubscribe(String topic, Object subscriber)
          For usage with annotations.
static boolean unsubscribeExactly(Class eventClass, EventSubscriber subscriber)
           
static boolean unsubscribeExactly(Class eventClass, Object subscriber)
          For usage with annotations.
static boolean unsubscribeVeto(Class eventClass, Object subscribedByProxy)
           
static boolean unsubscribeVeto(Pattern pattern, Object subscribedByProxy)
           
static boolean unsubscribeVeto(String topic, Object subscribedByProxy)
           
static boolean unsubscribeVetoExactly(Class eventClass, Object subscribedByProxy)
           
static boolean unsubscribeVetoListener(Class eventClass, VetoEventListener vetoListener)
           
static boolean unsubscribeVetoListener(Pattern topicPattern, VetoTopicEventListener vetoListener)
           
static boolean unsubscribeVetoListener(String topic, VetoTopicEventListener vetoListener)
           
static boolean unsubscribeVetoListenerExactly(Class eventClass, VetoEventListener vetoListener)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EventBus

public EventBus()
Method Detail

getGlobalEventService

public static EventService getGlobalEventService()
The EventBus uses a global static EventService. This method is not necessary in usual usage, use the other static methods instead. It is used to expose any other functionality and for framework classes (EventBusAction)

Returns:
the global static EventService

publish

public static void publish(Object event)
See Also:
EventService.publish(Object)

publish

public static void publish(String topic,
                           Object o)
See Also:
EventService.publish(String,Object)

publish

public static void publish(Type genericType,
                           Object o)
See Also:
EventService.publish(java.lang.reflect.Type, Object)

subscribe

public static boolean subscribe(Class eventClass,
                                EventSubscriber subscriber)
See Also:
EventService.subscribe(Class,EventSubscriber)

subscribe

public static boolean subscribe(Type genericType,
                                EventSubscriber subscriber)
See Also:
EventService.subscribe(java.lang.reflect.Type, EventSubscriber)

subscribeExactly

public static boolean subscribeExactly(Class eventClass,
                                       EventSubscriber subscriber)
See Also:
EventService.subscribeExactly(Class,EventSubscriber)

subscribe

public static boolean subscribe(String topic,
                                EventTopicSubscriber subscriber)
See Also:
EventService.subscribe(String,EventTopicSubscriber)

subscribe

public static boolean subscribe(Pattern topicPattern,
                                EventTopicSubscriber subscriber)
See Also:
EventService.subscribe(Pattern,EventTopicSubscriber)

subscribeStrongly

public static boolean subscribeStrongly(Class eventClass,
                                        EventSubscriber subscriber)
See Also:
EventService.subscribeStrongly(Class,EventSubscriber)

subscribeExactlyStrongly

public static boolean subscribeExactlyStrongly(Class eventClass,
                                               EventSubscriber subscriber)
See Also:
EventService.subscribeExactlyStrongly(Class,EventSubscriber)

subscribeStrongly

public static boolean subscribeStrongly(String topic,
                                        EventTopicSubscriber subscriber)
See Also:
EventService.subscribeStrongly(String,EventTopicSubscriber)

subscribeStrongly

public static boolean subscribeStrongly(Pattern topicPattern,
                                        EventTopicSubscriber subscriber)
See Also:
EventService.subscribeStrongly(Pattern,EventTopicSubscriber)

unsubscribe

public static boolean unsubscribe(Class eventClass,
                                  EventSubscriber subscriber)
See Also:
EventService.unsubscribe(Class,EventSubscriber)

unsubscribeExactly

public static boolean unsubscribeExactly(Class eventClass,
                                         EventSubscriber subscriber)
See Also:
EventService.unsubscribeExactly(Class,EventSubscriber)

unsubscribe

public static boolean unsubscribe(String topic,
                                  EventTopicSubscriber subscriber)
See Also:
EventService.unsubscribe(String,EventTopicSubscriber)

unsubscribe

public static boolean unsubscribe(Pattern topicPattern,
                                  EventTopicSubscriber subscriber)
See Also:
EventService.unsubscribe(Pattern,EventTopicSubscriber)

unsubscribe

public static boolean unsubscribe(Class eventClass,
                                  Object object)
For usage with annotations.

See Also:
EventService.unsubscribe(Class,Object)

unsubscribeExactly

public static boolean unsubscribeExactly(Class eventClass,
                                         Object subscriber)
For usage with annotations.

See Also:
EventService.unsubscribeExactly(Class,Object)

unsubscribe

public static boolean unsubscribe(String topic,
                                  Object subscriber)
For usage with annotations.

See Also:
EventService.unsubscribe(String,Object)

unsubscribe

public static boolean unsubscribe(Pattern topicPattern,
                                  Object subscriber)
For usage with annotations.

See Also:
EventService.unsubscribe(Pattern,Object)

subscribeVetoListener

public static boolean subscribeVetoListener(Class eventClass,
                                            VetoEventListener vetoListener)
See Also:
EventService.subscribeVetoListener(Class,VetoEventListener)

subscribeVetoListenerExactly

public static boolean subscribeVetoListenerExactly(Class eventClass,
                                                   VetoEventListener vetoListener)
See Also:
EventService.subscribeVetoListener(Class,VetoEventListener)

subscribeVetoListener

public static boolean subscribeVetoListener(String topic,
                                            VetoTopicEventListener vetoListener)
See Also:
EventService.subscribeVetoListener(String,VetoTopicEventListener)

subscribeVetoListener

public static boolean subscribeVetoListener(Pattern topicPattern,
                                            VetoTopicEventListener vetoListener)
See Also:
EventService.subscribeVetoListener(Pattern,VetoTopicEventListener)

subscribeVetoListenerStrongly

public static boolean subscribeVetoListenerStrongly(Class eventClass,
                                                    VetoEventListener vetoListener)
See Also:
EventService.subscribeVetoListenerStrongly(Class,VetoEventListener)

subscribeVetoListenerExactlyStrongly

public static boolean subscribeVetoListenerExactlyStrongly(Class eventClass,
                                                           VetoEventListener vetoListener)
See Also:
EventService.subscribeVetoListenerExactlyStrongly(Class,VetoEventListener)

subscribeVetoListenerStrongly

public static boolean subscribeVetoListenerStrongly(String topic,
                                                    VetoTopicEventListener vetoListener)
See Also:
EventService.subscribeVetoListenerStrongly(String,VetoTopicEventListener)

subscribeVetoListenerStrongly

public static boolean subscribeVetoListenerStrongly(Pattern topicPattern,
                                                    VetoTopicEventListener vetoListener)
See Also:
EventService.subscribeVetoListener(String,VetoTopicEventListener)

unsubscribeVetoListener

public static boolean unsubscribeVetoListener(Class eventClass,
                                              VetoEventListener vetoListener)
See Also:
EventService.unsubscribeVetoListener(Class,VetoEventListener)

unsubscribeVetoListenerExactly

public static boolean unsubscribeVetoListenerExactly(Class eventClass,
                                                     VetoEventListener vetoListener)
See Also:
EventService.unsubscribeVetoListenerExactly(Class,VetoEventListener)

unsubscribeVetoListener

public static boolean unsubscribeVetoListener(String topic,
                                              VetoTopicEventListener vetoListener)
See Also:
EventService.unsubscribeVetoListener(String,VetoTopicEventListener)

unsubscribeVetoListener

public static boolean unsubscribeVetoListener(Pattern topicPattern,
                                              VetoTopicEventListener vetoListener)
See Also:
EventService.unsubscribeVetoListener(Pattern,VetoTopicEventListener)

getSubscribers

public static <T> List<T> getSubscribers(Class<T> eventClass)
See Also:
EventService.getSubscribers(Class)

getSubscribersToClass

public static <T> List<T> getSubscribersToClass(Class<T> eventClass)
See Also:
EventService.getSubscribersToClass(Class)

getSubscribersToExactClass

public static <T> List<T> getSubscribersToExactClass(Class<T> eventClass)
See Also:
EventService.getSubscribersToExactClass(Class)

getSubscribers

public static <T> List<T> getSubscribers(Type type)
See Also:
EventService.getSubscribers(Type)

getSubscribers

public static <T> List<T> getSubscribers(String topic)
See Also:
EventService.getSubscribers(String)

getSubscribersToTopic

public static <T> List<T> getSubscribersToTopic(String topic)
See Also:
EventService.getSubscribersToTopic(String)

getSubscribers

public static <T> List<T> getSubscribers(Pattern pattern)
See Also:
EventService.getSubscribers(Pattern)

getSubscribersByPattern

public static <T> List<T> getSubscribersByPattern(String topic)
See Also:
EventService.getSubscribersByPattern(String)

getVetoSubscribers

public static <T> List<T> getVetoSubscribers(Class<T> eventClass)
See Also:
EventService.getSubscribers(Class)

getVetoSubscribersToClass

public static <T> List<T> getVetoSubscribersToClass(Class<T> eventClass)
See Also:
EventService.getVetoSubscribersToClass(Class)

getVetoSubscribersToExactClass

public static <T> List<T> getVetoSubscribersToExactClass(Class<T> eventClass)
See Also:
EventService.getVetoSubscribersToExactClass(Class)

getVetoSubscribers

public static <T> List<T> getVetoSubscribers(String topic)
Deprecated. use getVetoSubscribersToTopic instead for direct replacement, or use getVetoEventListeners to get topic and pattern matchers. In EventBus 2.0 this name will replace getVetoEventListeners() and have it's union functionality

See Also:
EventService.getVetoSubscribers(Class)

getVetoEventListeners

public static <T> List<T> getVetoEventListeners(String topic)
See Also:
EventService.getVetoEventListeners(String)

getVetoSubscribers

public static <T> List<T> getVetoSubscribers(Pattern pattern)
See Also:
EventService.getVetoSubscribers(Pattern)

getVetoSubscribersToTopic

public static <T> List<T> getVetoSubscribersToTopic(String topic)
See Also:
EventService.getVetoSubscribersToTopic(String)

getVetoSubscribersByPattern

public static <T> List<T> getVetoSubscribersByPattern(String topic)
See Also:
EventService.getVetoSubscribersByPattern(String)

unsubscribeVeto

public static boolean unsubscribeVeto(Class eventClass,
                                      Object subscribedByProxy)
See Also:
EventService.unsubscribeVeto(Class, Object)

unsubscribeVetoExactly

public static boolean unsubscribeVetoExactly(Class eventClass,
                                             Object subscribedByProxy)
See Also:
EventService.unsubscribeVetoExactly(Class, Object)

unsubscribeVeto

public static boolean unsubscribeVeto(String topic,
                                      Object subscribedByProxy)
See Also:
EventService.unsubscribeVeto(String, Object)

unsubscribeVeto

public static boolean unsubscribeVeto(Pattern pattern,
                                      Object subscribedByProxy)
See Also:
EventService.unsubscribeVeto(Pattern, Object)

clearAllSubscribers

public static void clearAllSubscribers()
See Also:
EventService.clearAllSubscribers()

setDefaultCacheSizePerClassOrTopic

public static void setDefaultCacheSizePerClassOrTopic(int defaultCacheSizePerClassOrTopic)
See Also:
EventService.setDefaultCacheSizePerClassOrTopic(int)

getDefaultCacheSizePerClassOrTopic

public static int getDefaultCacheSizePerClassOrTopic()
See Also:
EventService.getDefaultCacheSizePerClassOrTopic()

setCacheSizeForEventClass

public static void setCacheSizeForEventClass(Class eventClass,
                                             int cacheSize)
See Also:
EventService.setCacheSizeForEventClass(Class,int)

getCacheSizeForEventClass

public static int getCacheSizeForEventClass(Class eventClass)
See Also:
EventService.getCacheSizeForEventClass(Class)

setCacheSizeForTopic

public static void setCacheSizeForTopic(String topicName,
                                        int cacheSize)
See Also:
EventService.setCacheSizeForTopic(String,int)

setCacheSizeForTopic

public static void setCacheSizeForTopic(Pattern pattern,
                                        int cacheSize)
See Also:
EventService.setCacheSizeForTopic(java.util.regex.Pattern,int)

getCacheSizeForTopic

public static int getCacheSizeForTopic(String topic)
See Also:
EventService.getCacheSizeForTopic(String)

getLastEvent

public static <T> T getLastEvent(Class<T> eventClass)
See Also:
EventService.getLastEvent(Class)

getCachedEvents

public static <T> List<T> getCachedEvents(Class<T> eventClass)
See Also:
EventService.getCachedEvents(Class)

getLastTopicData

public static Object getLastTopicData(String topic)
See Also:
EventService.getLastTopicData(String)

getCachedTopicData

public static List getCachedTopicData(String topic)
See Also:
EventService.getCachedTopicData(String)

clearCache

public static void clearCache(Class eventClass)
See Also:
EventService.clearCache(Class)

clearCache

public static void clearCache(String topic)
See Also:
EventService.clearCache(String)

clearCache

public static void clearCache(Pattern pattern)
See Also:
EventService.clearCache(java.util.regex.Pattern)

clearCache

public static void clearCache()
See Also:
EventService.clearCache()


Copyright © 2011 Bushe Enterprises, Inc.. All Rights Reserved.