public class StubScheduler extends Scheduler
Typical usage:
scheduleCommands(scheduler); assertFalse(scheduler.executeCommands());
Scheduler.RepeatingCommand, Scheduler.ScheduledCommand
Constructor and Description |
---|
StubScheduler() |
Modifier and Type | Method and Description |
---|---|
boolean |
executeCommands()
Executes all scheduled commands once.
|
boolean |
executeRepeatingCommands()
Executes all scheduled
RepeatingCommand s once. |
boolean |
executeScheduledCommands()
Executes all scheduled
ScheduledCommand s that have been passed to this scheduler,
then removes all commands. |
List<Scheduler.RepeatingCommand> |
getRepeatingCommands()
Returns the currently scheduled
RepeatingCommand s that would be executed
by executeRepeatingCommands() . |
List<Scheduler.ScheduledCommand> |
getScheduledCommands()
Returns the currently scheduled
ScheduledCommand s that would be executed
by executeScheduledCommands() . |
void |
scheduleDeferred(Scheduler.ScheduledCommand cmd)
A deferred command is executed after the browser event loop returns.
|
void |
scheduleEntry(Scheduler.RepeatingCommand cmd)
An "entry" command will be executed before GWT-generated code is invoked by
the browser's event loop.
|
void |
scheduleEntry(Scheduler.ScheduledCommand cmd)
An "entry" command will be executed before GWT-generated code is invoked by
the browser's event loop.
|
void |
scheduleFinally(Scheduler.RepeatingCommand cmd)
A "finally" command will be executed before GWT-generated code returns
control to the browser's event loop.
|
void |
scheduleFinally(Scheduler.ScheduledCommand cmd)
A "finally" command will be executed before GWT-generated code returns
control to the browser's event loop.
|
void |
scheduleFixedDelay(Scheduler.RepeatingCommand cmd,
int delayMs)
Schedules a repeating command that is scheduled with a constant delay.
|
void |
scheduleFixedPeriod(Scheduler.RepeatingCommand cmd,
int delayMs)
Schedules a repeating command that is scheduled with a constant
periodicity.
|
void |
scheduleIncremental(Scheduler.RepeatingCommand cmd)
Schedules a repeating command that performs incremental work.
|
public List<Scheduler.RepeatingCommand> getRepeatingCommands()
RepeatingCommand
s that would be executed
by executeRepeatingCommands()
.public boolean executeCommands()
executeRepeatingCommands()
then executeScheduledCommands()
.
Caveat: executes once any scheduled command created when executing the repeating commands.
true
) or
new commands have been scheduled after the executionpublic boolean executeRepeatingCommands()
RepeatingCommand
s once. Does not execute the commands
newly scheduled by the initial commands. Removes the commands that returned false
.
After this method completes, getRepeatingCommands()
returns only the commands
that are still scheduled.
true
) or
new commands have been scheduled after the executionpublic List<Scheduler.ScheduledCommand> getScheduledCommands()
ScheduledCommand
s that would be executed
by executeScheduledCommands()
.public boolean executeScheduledCommands()
ScheduledCommand
s that have been passed to this scheduler,
then removes all commands.
After this method completes, getScheduledCommands()
returns only the commands
that have been scheduled by the initial commands.
public void scheduleDeferred(Scheduler.ScheduledCommand cmd)
Scheduler
scheduleDeferred
in class Scheduler
public void scheduleEntry(Scheduler.RepeatingCommand cmd)
Scheduler
Scheduler.RepeatingCommand
will be called once
per entry from the event loop until false
is returned. This
type of command is appropriate for instrumentation or code that needs to
know when "something happens."
If an entry command schedules another entry command, the second command will be executed before control flow continues to the GWT-generated code.
scheduleEntry
in class Scheduler
public void scheduleEntry(Scheduler.ScheduledCommand cmd)
Scheduler
If an entry command schedules another entry command, the second command will be executed before control flow continues to the GWT-generated code.
scheduleEntry
in class Scheduler
public void scheduleFinally(Scheduler.RepeatingCommand cmd)
Scheduler
Scheduler.RepeatingCommand.execute()
method will be called once per exit to the event loop until
false
is returned. This type of command is appropriate for
instrumentation or cleanup code.
If a finally command schedules another finally command, the second command will be executed before control flow returns to the browser.
scheduleFinally
in class Scheduler
public void scheduleFinally(Scheduler.ScheduledCommand cmd)
Scheduler
If a finally command schedules another finally command, the second command will be executed before control flow returns to the browser.
Consider the following:
try { nativeEventCallback(); // Calls scheduleFinally one or more times } finally { executeFinallyCommands(); }
scheduleFinally
in class Scheduler
StyleInjector
public void scheduleFixedDelay(Scheduler.RepeatingCommand cmd, int delayMs)
Scheduler
delayMs
milliseconds after the last invocation completes.
For example, assume that a command takes 30ms to run and a 100ms delay is provided. The second invocation of the command will occur at 130ms after the first invocation starts.
scheduleFixedDelay
in class Scheduler
cmd
- the command to executedelayMs
- the amount of time to wait after one invocation ends before
the next invocationpublic void scheduleFixedPeriod(Scheduler.RepeatingCommand cmd, int delayMs)
Scheduler
delayMs
milliseconds, regardless of how long the previous
invocation took to complete.scheduleFixedPeriod
in class Scheduler
cmd
- the command to executedelayMs
- the period with which the command is executedpublic void scheduleIncremental(Scheduler.RepeatingCommand cmd)
Scheduler
scheduleIncremental
in class Scheduler
cmd
- the command to executeCopyright © 2018. All rights reserved.