public class EventBus<T extends EntityHolder>
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
EventBus.Runner |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_NAME |
static EventBus.Runner |
DEFAULT_RUNNER |
static EventBus.Runner |
RUNNER_MULTI_THREAD |
static EventBus.Runner |
RUNNER_SINGLE_THREAD |
Constructor and Description |
---|
EventBus() |
EventBus(java.lang.String eventBusName) |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Will call
EntityHolder.finish() on each holder before clear eventBus. |
static void |
clearAll()
Will call
EntityHolder.finish() on each holder before clear eventBus. |
static java.util.List<EventBus<? extends EntityHolder>> |
fetchEventBusesList()
Collects and returns list of all defined event buses.
|
java.util.List<T> |
fetchHoldersList()
Collects and returns list of all holders registered in event bus.
|
static EventBus<? extends EntityHolder> |
getEventBus(java.lang.String eventBusName) |
java.lang.String |
getEventBusName() |
T |
getHolder(java.lang.String type) |
java.util.Map<java.lang.String,T> |
getHolders()
Returns the map of holders in event bus.
|
static java.util.Map<java.lang.String,? extends EntityHolder> |
getHolders(java.lang.String eventBusName) |
java.util.List<? extends EntityHolder> |
getHoldersList() |
static java.util.List<? extends EntityHolder> |
getHoldersList(java.lang.String eventBusName) |
static EventBus<? extends EntityHolder> |
getOrCreate() |
static EventBus<? extends EntityHolder> |
getOrCreate(java.lang.String eventBusName) |
EventBus.Runner |
getRunner() |
static void |
inspect(java.lang.String eventName)
Provides the possibility for deep inspection of event specified.
|
void |
post(java.lang.String eventName)
Events poster.
|
void |
post(java.lang.String eventName,
java.lang.Object eventObject)
Events poster.
|
static void |
post(java.lang.String eventBusName,
java.lang.String eventName,
java.lang.Object eventObject)
Events poster.
|
static void |
postAll(java.lang.Runnable runnable)
Will post runnable to each holder in each event bus using the same queue as events.
|
static void |
postAll(java.lang.String eventName)
Will post runnable to each holder in each event bus defined.
|
static void |
postAll(java.lang.String eventName,
java.lang.Object eventObject)
Will post event/object to each holder in each event bus defined.
|
void |
postRunnable(java.lang.Runnable runnable)
Will post runnable in the same queue with events.
|
static void |
postRunnable(java.lang.String eventBusName,
java.lang.Runnable runnable)
Will post runnable in the same queue with events.
|
void |
register(T holder)
Registers the holder in event bus.
|
T |
registerIfAbsent(T holder)
Registers the holder in event bus only if it is not registered.
|
void |
registerOrUpdate(T holder)
Registers the holder in event bus or updates if it already exists.
|
static void |
setLoggingLevel(java.util.logging.Level loggingLevel) |
static void |
setMainRunner(EventBus.Runner runner)
Redefines the default runner and overrides runners in all existing buses.
|
void |
setRunner(EventBus.Runner runner)
Changes the runner for event bus.
|
void |
unregister(java.lang.String type)
Unregisters the holder from event bus by its type.
|
void |
unregister(T holder)
Unregisters the holder from event bus.
|
void |
update(T holder)
Updates the holder and keeps its order in the queue.
|
public static final java.lang.String DEFAULT_NAME
public static final EventBus.Runner DEFAULT_RUNNER
public static final EventBus.Runner RUNNER_MULTI_THREAD
public static final EventBus.Runner RUNNER_SINGLE_THREAD
public EventBus() throws java.util.TooManyListenersException
java.util.TooManyListenersException
public EventBus(java.lang.String eventBusName) throws java.util.TooManyListenersException
java.util.TooManyListenersException
public static void clearAll()
EntityHolder.finish()
on each holder before clear eventBus.public static java.util.List<EventBus<? extends EntityHolder>> fetchEventBusesList()
public static EventBus<? extends EntityHolder> getEventBus(java.lang.String eventBusName)
public static java.util.Map<java.lang.String,? extends EntityHolder> getHolders(java.lang.String eventBusName)
public static java.util.List<? extends EntityHolder> getHoldersList(java.lang.String eventBusName)
public static void setLoggingLevel(java.util.logging.Level loggingLevel)
public static EventBus<? extends EntityHolder> getOrCreate()
public static EventBus<? extends EntityHolder> getOrCreate(java.lang.String eventBusName)
public static void inspect(java.lang.String eventName)
eventName
- any not empty event name, i.e. "event1"public static void post(java.lang.String eventBusName, java.lang.String eventName, java.lang.Object eventObject)
EventBus.Runner
.eventBusName
- name of event bus that must process this eventeventName
- any not empty event name, i.e. "event1"eventObject
- any object that will be sent together with event namepublic static void postAll(java.lang.String eventName, java.lang.Object eventObject)
eventName
- any not empty event name, i.e. "event1"eventObject
- any object that will be sent together with event namepublic static void postAll(java.lang.String eventName)
eventName
- any not empty event name, i.e. "event1"public static void postAll(java.lang.Runnable runnable)
runnable
- redefine Runnable
public static void postRunnable(java.lang.String eventBusName, java.lang.Runnable runnable)
eventBusName
- name of target event busrunnable
- redefine Runnable
public static void setMainRunner(EventBus.Runner runner)
runner
- EventBus.Runner
, default value is DEFAULT_RUNNER
.public void clear()
EntityHolder.finish()
on each holder before clear eventBus.public java.util.List<T> fetchHoldersList()
public java.lang.String getEventBusName()
public T getHolder(java.lang.String type)
public java.util.Map<java.lang.String,T> getHolders()
public java.util.List<? extends EntityHolder> getHoldersList()
public EventBus.Runner getRunner()
public void setRunner(EventBus.Runner runner)
runner
- EventBus.Runner
, default value is DEFAULT_RUNNER
.public void post(java.lang.String eventName)
EventBus.Runner
.eventName
- any not empty event name, i.e. "event1"public void post(java.lang.String eventName, java.lang.Object eventObject)
EventBus.Runner
.eventName
- any not empty event name, i.e. "event1"eventObject
- any object that will be sent together with event namepublic void postRunnable(java.lang.Runnable runnable)
runnable
- redefine Runnable
public void register(T holder)
holder
- must implement EntityHolder
, may be an instance of AbstractEntityHolder
public void registerOrUpdate(T holder)
holder
- must implement EntityHolder
, may be an instance of AbstractEntityHolder
public T registerIfAbsent(T holder)
holder
- must implement EntityHolder
, may be an instance of AbstractEntityHolder
public void update(T holder)
holder
- must implement EntityHolder
, may be an instance of AbstractEntityHolder
public void unregister(java.lang.String type)
type
- typepublic void unregister(T holder)
holder
- must implement EntityHolder
, may be an instance of AbstractEntityHolder