Package gaiasky.event
Class EventManager
- java.lang.Object
-
- gaiasky.event.EventManager
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEventManager.TimeFrameTime frame options
-
Field Summary
Fields Modifier and Type Field Description static EventManagerinstanceSingleton pattern
-
Constructor Summary
Constructors Constructor Description EventManager()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearSubscriptions(Events msg)Unregisters all the listeners for the specified message code.voiddispatchDelayedMessages()Dispatches any telegrams with a timestamp that has expired.static longgetCurrentTime()Returns the current time in milliseconds.booleanhasSubscriptors(Events event)booleanisSubscribedToAny(IObserver o)voidnotify(Events event, java.lang.Object... data)voidpost(Events event, java.lang.Object... data)Posts or registers a new event type with the given data.voidpostDelayed(Events event, long delayMs, EventManager.TimeFrame frame, java.lang.Object... data)Posts or registers a new event type with the given data.voidpostDelayed(Events event, long delayMs, java.lang.Object... data)Posts or registers a new event type with the given data and the default time frame.voidremoveAllSubscriptions(IObserver... listeners)Unregisters all the subscriptions of the given listeners.voidsubscribe(IObserver listener, Events msg)Registers a listener for the specified message code.voidsubscribe(IObserver observer, Events... events)Subscribes the given observer to the given event types.voidunsubscribe(IObserver listener, Events events)Unregister the specified listener for the specified message code.voidunsubscribe(IObserver listener, Events... events)
-
-
-
Field Detail
-
instance
public static final EventManager instance
Singleton pattern
-
-
Method Detail
-
subscribe
public void subscribe(IObserver observer, Events... events)
Subscribes the given observer to the given event types.- Parameters:
observer- The observer to subscribe.events- The event types to subscribe to.
-
subscribe
public void subscribe(IObserver listener, Events msg)
Registers a listener for the specified message code. Messages without an explicit receiver are broadcasted to all its registered listeners.- Parameters:
msg- the message codelistener- the listener to add
-
unsubscribe
public void unsubscribe(IObserver listener, Events events)
Unregister the specified listener for the specified message code.- Parameters:
events- The message code.listener- The listener to remove.
-
removeAllSubscriptions
public void removeAllSubscriptions(IObserver... listeners)
Unregisters all the subscriptions of the given listeners.- Parameters:
listeners- The listeners to remove.
-
clearSubscriptions
public void clearSubscriptions(Events msg)
Unregisters all the listeners for the specified message code.- Parameters:
msg- the message code
-
post
public void post(Events event, java.lang.Object... data)
Posts or registers a new event type with the given data.- Parameters:
event- The event type.data- The event data.
-
postDelayed
public void postDelayed(Events event, long delayMs, java.lang.Object... data)
Posts or registers a new event type with the given data and the default time frame. The default time frame can be changed using the eventEvents.EVENT_TIME_FRAME_CMD. The event will be passed along after the specified delay time [ms] in the given time frame has passed.- Parameters:
event- The event type.delayMs- Milliseconds of delay in the given time frame.data- The event data.
-
postDelayed
public void postDelayed(Events event, long delayMs, EventManager.TimeFrame frame, java.lang.Object... data)
Posts or registers a new event type with the given data. The event will be passed along after the specified delay time [ms] in the given time frame has passed.- Parameters:
event- The event type.delayMs- Milliseconds of delay in the given time frame.frame- The time frame, either real time (user) or simulation time (simulation clock time).data- The event data.
-
getCurrentTime
public static long getCurrentTime()
Returns the current time in milliseconds.
-
dispatchDelayedMessages
public void dispatchDelayedMessages()
Dispatches any telegrams with a timestamp that has expired. Any dispatched telegrams are removed from the queue.This method must be called each time through the main loop.
-
hasSubscriptors
public boolean hasSubscriptors(Events event)
-
isSubscribedToAny
public boolean isSubscribedToAny(IObserver o)
-
-