Crossfire JXClient, Trunk
|
Public Member Functions | |
EventScheduler (final int delay, final int afterEventDelay, @NotNull final Runnable eventSchedulerCallback) | |
void | start () |
void | trigger () |
Private Attributes | |
final int | afterEventDelay |
final int | delay |
final Runnable | eventSchedulerCallback |
long | nextAction |
long | nextActionNotBefore = System.currentTimeMillis() |
final Runnable | runnable |
final Object | sync = new Object() |
final Thread | thread |
A scheduler for asynchronous event notifications. Notifications are triggered by calling trigger(). Notifications are delivered by calling the event scheduler callback of eventSchedulerCallback. This callback is called delay after the last call to trigger() but not faster than once per eventSchedulerCallback.
Definition at line 35 of file EventScheduler.java.
com.realtime.crossfire.jxclient.items.EventScheduler.EventScheduler | ( | final int | delay, |
final int | afterEventDelay, | ||
@NotNull final Runnable | eventSchedulerCallback | ||
) |
Creates a new instance.
delay | the initial delay |
afterEventDelay | the "after-event" delay |
eventSchedulerCallback | the callback to notify |
Definition at line 128 of file EventScheduler.java.
References com.realtime.crossfire.jxclient.items.EventScheduler.afterEventDelay, com.realtime.crossfire.jxclient.items.EventScheduler.delay, com.realtime.crossfire.jxclient.items.EventScheduler.eventSchedulerCallback, com.realtime.crossfire.jxclient.items.EventScheduler.runnable, and com.realtime.crossfire.jxclient.items.EventScheduler.thread.
void com.realtime.crossfire.jxclient.items.EventScheduler.start | ( | ) |
Activates this instance.
Definition at line 139 of file EventScheduler.java.
References com.realtime.crossfire.jxclient.items.EventScheduler.thread.
Referenced by com.realtime.crossfire.jxclient.items.AbstractItemView.AbstractItemView().
void com.realtime.crossfire.jxclient.items.EventScheduler.trigger | ( | ) |
Notifies the callback.
Definition at line 146 of file EventScheduler.java.
References com.realtime.crossfire.jxclient.items.EventScheduler.delay, com.realtime.crossfire.jxclient.items.EventScheduler.nextAction, and com.realtime.crossfire.jxclient.items.EventScheduler.sync.
Referenced by com.realtime.crossfire.jxclient.items.AbstractItemView.fireEvents().
|
private |
The minimum delay between two eventSchedulerCallback notifications.
Definition at line 47 of file EventScheduler.java.
Referenced by com.realtime.crossfire.jxclient.items.EventScheduler.EventScheduler().
|
private |
The delay between a call to trigger() until the eventSchedulerCallback is notified.
Definition at line 41 of file EventScheduler.java.
Referenced by com.realtime.crossfire.jxclient.items.EventScheduler.EventScheduler(), and com.realtime.crossfire.jxclient.items.EventScheduler.trigger().
|
private |
The Runnable to notify.
Definition at line 53 of file EventScheduler.java.
Referenced by com.realtime.crossfire.jxclient.items.EventScheduler.EventScheduler().
|
private |
The timestamp for the next notification. Set to
when not active.
Definition at line 72 of file EventScheduler.java.
Referenced by com.realtime.crossfire.jxclient.items.EventScheduler.trigger().
|
private |
The minimum timestamp for the next notification.
Definition at line 77 of file EventScheduler.java.
|
private |
The Runnable delivering notifications through eventSchedulerCallback.
Definition at line 84 of file EventScheduler.java.
Referenced by com.realtime.crossfire.jxclient.items.EventScheduler.EventScheduler().
|
private |
The object used to synchronize access to nextAction and nextActionNotBefore.
Definition at line 60 of file EventScheduler.java.
Referenced by com.realtime.crossfire.jxclient.items.EventScheduler.trigger().
|
private |
The thread running runnable.
Definition at line 66 of file EventScheduler.java.
Referenced by com.realtime.crossfire.jxclient.items.EventScheduler.EventScheduler(), and com.realtime.crossfire.jxclient.items.EventScheduler.start().