Class Scheduler
- java.lang.Object
-
- com.google.gwt.core.client.Scheduler
-
- Direct Known Subclasses:
StubScheduler
public abstract class Scheduler extends java.lang.Object
This class provides low-level task scheduling primitives. Any exceptions thrown by the command objects executed by the scheduler will be passed to theGWT.UncaughtExceptionHandler
if one is installed.NOTE: If you are using a timer to schedule a UI animation, use
AnimationScheduler
instead. The browser can optimize your animation for maximum performance.- See Also:
StubScheduler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Scheduler.RepeatingCommand
General-purpose Command interface for tasks that repeat.static interface
Scheduler.ScheduledCommand
General-purpose Command interface.
-
Constructor Summary
Constructors Constructor Description Scheduler()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static Scheduler
get()
Returns the default implementation of the Scheduler API.abstract void
scheduleDeferred(Scheduler.ScheduledCommand cmd)
A deferred command is executed after the browser event loop returns.abstract void
scheduleEntry(Scheduler.RepeatingCommand cmd)
An "entry" command will be executed before GWT-generated code is invoked by the browser's event loop.abstract void
scheduleEntry(Scheduler.ScheduledCommand cmd)
An "entry" command will be executed before GWT-generated code is invoked by the browser's event loop.abstract void
scheduleFinally(Scheduler.RepeatingCommand cmd)
A "finally" command will be executed before GWT-generated code returns control to the browser's event loop.abstract void
scheduleFinally(Scheduler.ScheduledCommand cmd)
A "finally" command will be executed before GWT-generated code returns control to the browser's event loop.abstract void
scheduleFixedDelay(Scheduler.RepeatingCommand cmd, int delayMs)
Schedules a repeating command that is scheduled with a constant delay.abstract void
scheduleFixedPeriod(Scheduler.RepeatingCommand cmd, int delayMs)
Schedules a repeating command that is scheduled with a constant periodicity.abstract void
scheduleIncremental(Scheduler.RepeatingCommand cmd)
Schedules a repeating command that performs incremental work.
-
-
-
Method Detail
-
get
public static Scheduler get()
Returns the default implementation of the Scheduler API.
-
scheduleDeferred
public abstract void scheduleDeferred(Scheduler.ScheduledCommand cmd)
A deferred command is executed after the browser event loop returns.
-
scheduleEntry
public abstract void scheduleEntry(Scheduler.RepeatingCommand cmd)
An "entry" command will be executed before GWT-generated code is invoked by the browser's event loop. TheScheduler.RepeatingCommand
will be called once per entry from the event loop untilfalse
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
public abstract 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.
-
scheduleFinally
public abstract void scheduleFinally(Scheduler.RepeatingCommand cmd)
A "finally" command will be executed before GWT-generated code returns control to the browser's event loop. TheScheduler.RepeatingCommand.execute()
method will be called once per exit to the event loop untilfalse
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
public abstract 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(); }
- See Also:
StyleInjector
-
scheduleFixedDelay
public abstract 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 fordelayMs
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 executedelayMs
- the amount of time to wait after one invocation ends before the next invocation
-
scheduleFixedPeriod
public abstract 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 everydelayMs
milliseconds, regardless of how long the previous invocation took to complete.- Parameters:
cmd
- the command to executedelayMs
- the period with which the command is executed
-
scheduleIncremental
public abstract 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
-
-