GWT 2.7.0

com.google.gwt.core.client.testing
Class StubScheduler

java.lang.Object
  extended by com.google.gwt.core.client.Scheduler
      extended by com.google.gwt.core.client.testing.StubScheduler

public class StubScheduler
extends Scheduler

A fake scheduler that records scheduled commands and can execute them when asked to.

Typical usage:

   scheduleCommands(scheduler);
   assertFalse(scheduler.executeCommands());
 


Nested Class Summary
 
Nested classes/interfaces inherited from class com.google.gwt.core.client.Scheduler
Scheduler.RepeatingCommand, Scheduler.ScheduledCommand
 
Constructor Summary
StubScheduler()
           
 
Method Summary
 boolean executeCommands()
          Executes all scheduled commands once.
 boolean executeRepeatingCommands()
          Executes all scheduled RepeatingCommands once.
 boolean executeScheduledCommands()
          Executes all scheduled ScheduledCommands that have been passed to this scheduler, then removes all commands.
 java.util.List<Scheduler.RepeatingCommand> getRepeatingCommands()
          Returns the currently scheduled RepeatingCommands that would be executed by executeRepeatingCommands().
 java.util.List<Scheduler.ScheduledCommand> getScheduledCommands()
          Returns the currently scheduled ScheduledCommands 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.
 
Methods inherited from class com.google.gwt.core.client.Scheduler
get
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StubScheduler

public StubScheduler()
Method Detail

getRepeatingCommands

public java.util.List<Scheduler.RepeatingCommand> getRepeatingCommands()
Returns the currently scheduled RepeatingCommands that would be executed by executeRepeatingCommands().


executeCommands

public boolean executeCommands()
Executes all scheduled commands once. Equivalent to calling executeRepeatingCommands() then executeScheduledCommands().

Caveat: executes once any scheduled command created when executing the repeating commands.

Returns:
whether some repeating commands are still scheduled (returned true) or new commands have been scheduled after the execution

executeRepeatingCommands

public boolean executeRepeatingCommands()
Executes all scheduled RepeatingCommands 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.

Returns:
whether some commands are still scheduled (returned true) or new commands have been scheduled after the execution

getScheduledCommands

public java.util.List<Scheduler.ScheduledCommand> getScheduledCommands()
Returns the currently scheduled ScheduledCommands that would be executed by executeScheduledCommands().


executeScheduledCommands

public boolean executeScheduledCommands()
Executes all scheduled ScheduledCommands 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.

Returns:
whether new commands have been scheduled after the execution

scheduleDeferred

public void scheduleDeferred(Scheduler.ScheduledCommand cmd)
Description copied from class: Scheduler
A deferred command is executed after the browser event loop returns.

Specified by:
scheduleDeferred in class Scheduler

scheduleEntry

public void scheduleEntry(Scheduler.RepeatingCommand cmd)
Description copied from class: Scheduler
An "entry" command will be executed before GWT-generated code is invoked by the browser's event loop. The 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.

Specified by:
scheduleEntry in class Scheduler

scheduleEntry

public void scheduleEntry(Scheduler.ScheduledCommand cmd)
Description copied from class: Scheduler
An "entry" command will be executed before GWT-generated code is invoked by the browser's event loop. This type of command is appropriate for 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.

Specified by:
scheduleEntry in class Scheduler

scheduleFinally

public void scheduleFinally(Scheduler.RepeatingCommand cmd)
Description copied from class: Scheduler
A "finally" command will be executed before GWT-generated code returns control to the browser's event loop. The 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.

Specified by:
scheduleFinally in class Scheduler

scheduleFinally

public void scheduleFinally(Scheduler.ScheduledCommand cmd)
Description copied from class: Scheduler
A "finally" command will be executed before GWT-generated code returns control to the browser's event loop. This type of command is used to aggregate small amounts of work before performing a non-recurring, heavyweight operation.

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();
 }
 

Specified by:
scheduleFinally in class Scheduler
See Also:
StyleInjector

scheduleFixedDelay

public void scheduleFixedDelay(Scheduler.RepeatingCommand cmd,
                               int delayMs)
Description copied from class: Scheduler
Schedules a repeating command that is scheduled with a constant delay. That is, the next invocation of the command will be scheduled for 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.

Specified by:
scheduleFixedDelay in class Scheduler
Parameters:
cmd - the command to execute
delayMs - the amount of time to wait after one invocation ends before the next invocation

scheduleFixedPeriod

public void scheduleFixedPeriod(Scheduler.RepeatingCommand cmd,
                                int delayMs)
Description copied from class: Scheduler
Schedules a repeating command that is scheduled with a constant periodicity. That is, the command will be invoked every delayMs milliseconds, regardless of how long the previous invocation took to complete.

Specified by:
scheduleFixedPeriod in class Scheduler
Parameters:
cmd - the command to execute
delayMs - the period with which the command is executed

scheduleIncremental

public void scheduleIncremental(Scheduler.RepeatingCommand cmd)
Description copied from class: Scheduler
Schedules a repeating command that performs incremental work. This type of command is encouraged for long-running processes that perform computation or that manipulate the DOM. The commands in this queue are invoked many times in rapid succession and are then deferred to allow the browser to process its event queue.

Specified by:
scheduleIncremental in class Scheduler
Parameters:
cmd - the command to execute

GWT 2.7.0