Package com.landawn.abacus.eventbus
Class EventBus
java.lang.Object
com.landawn.abacus.eventbus.EventBus
final Object strSubscriber_1 = new Subscriber() {
@Override
public void on(String event) {
System.out.println("Subscriber: strSubscriber_1, event: " + event);
}
};
final Object anySubscriber_2 = new Object() {
@Subscribe(threadMode = ThreadMode.DEFAULT, interval = 1000)
public void anyMethod(Object event) {
System.out.println("Subscriber: anySubscriber_2, event: " + event);
}
};
final Object anySubscriber_3 = new Object() {
@Subscribe(threadMode = ThreadMode.DEFAULT, sticky = true)
public void anyMethod(Object event) {
System.out.println("Subscriber: anySubscriber_3, event: " + event);
}
};
final EventBus eventBus = EventBus.getDefault();
eventBus.register(strSubscriber_1);
eventBus.register(strSubscriber_1);
eventBus.register(anySubscriber_2, "eventId_2");
eventBus.post("abc");
eventBus.postSticky("sticky");
eventBus.post("eventId_2", "abc");
eventBus.post(123);
eventBus.post("eventId_2", 123);
eventBus.register(anySubscriber_3);
- Author:
- haiyang li
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns all registered subscribers.static EventBus
Gets the default.getStickyEvents
(Class<?> eventType) Returns the sticky events which can be assigned to specifiedeventType
and posted withnull
event id.getStickyEvents
(Class<?> eventType, String eventId) Returns the sticky events which can be assigned to specifiedeventType
and posted with the specifiedeventId
.getSubscribers
(Class<?> eventType) Returns the subscriber which is registered with specifiedeventType
(or its sub types) andnull
event id.getSubscribers
(Class<?> eventType, String eventId) Returns the subscriber which is registered with specifiedeventType
(or its sub types) andeventId
.postSticky
(Object event) postSticky
(String eventId, Object event) <T> EventBus
register
(Subscriber<T> subscriber, String eventId) <T> EventBus
register
(Subscriber<T> subscriber, String eventId, ThreadMode threadMode) register
(Object subscriber, ThreadMode threadMode) register
(Object subscriber, String eventId, ThreadMode threadMode) Register the subscriber with the specifiedeventId
andthreadMode
.void
Removes all sticky events.boolean
removeStickyEvent
(Object event) Remove the sticky event posted withnull
event id.boolean
removeStickyEvent
(Object event, String eventId) Remove the sticky event posted with the specifiedeventId
.boolean
removeStickyEvents
(Class<?> eventType) Remove the sticky events which can be assigned to specifiedeventType
and posted withnull
event id.boolean
removeStickyEvents
(Class<?> eventType, String eventId) Remove the sticky events which can be assigned to specifiedeventType
and posted with the specifiedeventId
.unregister
(Object subscriber)
-
Constructor Details
-
EventBus
public EventBus() -
EventBus
- Parameters:
identifier
-
-
EventBus
- Parameters:
identifier
-executor
-
-
-
Method Details
-
getDefault
Gets the default.- Returns:
-
identifier
- Returns:
-
getSubscribers
Returns the subscriber which is registered with specifiedeventType
(or its sub types) andnull
event id.- Parameters:
eventType
-- Returns:
-
getSubscribers
Returns the subscriber which is registered with specifiedeventType
(or its sub types) andeventId
.- Parameters:
eventType
-eventId
-- Returns:
-
getAllSubscribers
Returns all registered subscribers.- Returns:
-
register
- Parameters:
subscriber
-- Returns:
-
register
- Parameters:
subscriber
-eventId
-- Returns:
-
register
- Parameters:
subscriber
-threadMode
-- Returns:
-
register
Register the subscriber with the specifiedeventId
andthreadMode
. If the same register has been registered before, it be over-written with the new specifiedeventId
andthreadMode
.- Parameters:
subscriber
-eventId
-threadMode
-- Returns:
- itself
-
register
- Type Parameters:
T
-- Parameters:
subscriber
- General subscriber (type isSubscriber
and parameter type is Object, mostly created by lambda) only can be registered with event ideventId
-- Returns:
-
register
- Type Parameters:
T
-- Parameters:
subscriber
- General subscriber (type isSubscriber
and parameter type is Object, mostly created by lambda) only can be registered with event ideventId
-threadMode
-- Returns:
-
unregister
- Parameters:
subscriber
-- Returns:
-
post
- Parameters:
event
-- Returns:
-
post
- Parameters:
eventId
-event
-- Returns:
-
postSticky
- Parameters:
event
-- Returns:
-
postSticky
- Parameters:
eventId
-event
-- Returns:
-
removeStickyEvent
Remove the sticky event posted withnull
event id.- Parameters:
event
-- Returns:
- true, if successful
-
removeStickyEvent
Remove the sticky event posted with the specifiedeventId
.- Parameters:
event
-eventId
-- Returns:
- true, if successful
-
removeStickyEvents
Remove the sticky events which can be assigned to specifiedeventType
and posted withnull
event id.- Parameters:
eventType
-- Returns:
- true if one or one more than sticky events are removed, otherwise,
false
.
-
removeStickyEvents
Remove the sticky events which can be assigned to specifiedeventType
and posted with the specifiedeventId
.- Parameters:
eventType
-eventId
-- Returns:
- true if one or one more than sticky events are removed, otherwise,
false
.
-
removeAllStickyEvents
public void removeAllStickyEvents()Removes all sticky events. -
getStickyEvents
Returns the sticky events which can be assigned to specifiedeventType
and posted withnull
event id.- Parameters:
eventType
-- Returns:
-
getStickyEvents
Returns the sticky events which can be assigned to specifiedeventType
and posted with the specifiedeventId
.- Parameters:
eventType
-eventId
-- Returns:
-