public class

SchedulerImpl

extends Scheduler
java.lang.Object
   ↳ com.google.gwt.core.client.Scheduler
     ↳ com.google.gwt.core.client.impl.SchedulerImpl

Class Overview

This is used by Scheduler to collaborate with Impl in order to have FinallyCommands executed.

Summary

Fields
public static final SchedulerImpl INSTANCE Use a GWT.create() here to make it simple to hijack the default implementation.
Public Constructors
SchedulerImpl()
Public Methods
void flushEntryCommands()
void flushFinallyCommands()
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.
[Expand]
Inherited Methods
From class com.google.gwt.core.client.Scheduler
From class java.lang.Object

Fields

public static final SchedulerImpl INSTANCE

Use a GWT.create() here to make it simple to hijack the default implementation.

Public Constructors

public SchedulerImpl ()

Public Methods

public void flushEntryCommands ()

public void flushFinallyCommands ()

public void scheduleDeferred (Scheduler.ScheduledCommand cmd)

A deferred command is executed after the browser event loop returns.

public void scheduleEntry (Scheduler.RepeatingCommand cmd)

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.

public void scheduleEntry (Scheduler.ScheduledCommand cmd)

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.

public void scheduleFinally (Scheduler.RepeatingCommand cmd)

A "finally" command will be executed before GWT-generated code returns control to the browser's event loop. The 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.

public void scheduleFinally (Scheduler.ScheduledCommand cmd)

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

public void scheduleFixedDelay (Scheduler.RepeatingCommand cmd, int delayMs)

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.

Parameters
cmd the command to execute
delayMs the amount of time to wait after one invocation ends before the next invocation

public void scheduleFixedPeriod (Scheduler.RepeatingCommand cmd, int delayMs)

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.

Parameters
cmd the command to execute
delayMs the period with which the command is executed

public void scheduleIncremental (Scheduler.RepeatingCommand cmd)

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.

Parameters
cmd the command to execute