Package com.google.gwt.user.client
Class CommandExecutor
java.lang.Object
com.google.gwt.user.client.CommandExecutor
Class which executes
Command
s and IncrementalCommand
s after
all currently pending event handlers have completed. This class attempts to
protect against slow script warnings by running commands in small time
increments.
It is still possible that a poorly written command could cause a slow script
warning which a user may choose to cancel. In that event, a
CommandCanceledException
or an
IncrementalCommandCanceledException
is reported through
GWT#reportUncaughtException
depending on the type of command which
caused the warning. All other commands will continue to be executed.
Command
or an IncrementalCommand
calls either
Window.alert(String)
or the JavaScript alert(String)
methods directly or indirectly then the cancellation timer can fire,
resulting in a false SSW cancellation detection.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Removes the command from the queue and throws either aCommandCanceledException
or anIncrementalCommandCanceledException
depending on type of the command.protected void
doExecuteCommands
(double startTimeMillis) This method will dispatch commands from the command queue.This method is for testing only.protected void
Starts the dispatch timer if there are commands to dispatch and we are not waiting for a dispatch timer and we are not actively dispatching.(package private) void
setExecuting
(boolean executing) This method is for testing only.(package private) void
setLast
(int last) This method is for testing only.void
Submits aCommand
for execution.void
submit
(IncrementalCommand command) Submits anIncrementalCommand
for execution.
-
Constructor Details
-
CommandExecutor
CommandExecutor()
-
-
Method Details
-
submit
Submits aCommand
for execution.- Parameters:
command
- command to submit
-
submit
Submits anIncrementalCommand
for execution.- Parameters:
command
- command to submit
-
doCommandCanceled
protected void doCommandCanceled()Removes the command from the queue and throws either aCommandCanceledException
or anIncrementalCommandCanceledException
depending on type of the command. -
doExecuteCommands
protected void doExecuteCommands(double startTimeMillis) This method will dispatch commands from the command queue. It will dispatch commands until one of the following conditions istrue
:- It consumed its dispatching time slice 100
- It encounters a
null
in the command queue - All commands which were present at the start of the dispatching have been removed from the command queue
- The command that it was processing was canceled due to a false cancellation -- in this case we exit without updating any state
- Parameters:
startTimeMillis
- the time when this method started
-
maybeStartExecutionTimer
protected void maybeStartExecutionTimer()Starts the dispatch timer if there are commands to dispatch and we are not waiting for a dispatch timer and we are not actively dispatching. -
getPendingCommands
This method is for testing only. -
setExecuting
void setExecuting(boolean executing) This method is for testing only. -
setLast
void setLast(int last) This method is for testing only.
-