Package com.google.gwt.user.client
Class CommandExecutor
java.lang.Object
com.google.gwt.user.client.CommandExecutor
Class which executes
Commands and IncrementalCommands 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidRemoves the command from the queue and throws either aCommandCanceledExceptionor anIncrementalCommandCanceledExceptiondepending on type of the command.protected voiddoExecuteCommands(double startTimeMillis) This method will dispatch commands from the command queue.This method is for testing only.protected voidStarts 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) voidsetExecuting(boolean executing) This method is for testing only.(package private) voidsetLast(int last) This method is for testing only.voidSubmits aCommandfor execution.voidsubmit(IncrementalCommand command) Submits anIncrementalCommandfor execution.
-
Constructor Details
-
CommandExecutor
CommandExecutor()
-
-
Method Details
-
submit
Submits aCommandfor execution.- Parameters:
command- command to submit
-
submit
Submits anIncrementalCommandfor execution.- Parameters:
command- command to submit
-
doCommandCanceled
protected void doCommandCanceled()Removes the command from the queue and throws either aCommandCanceledExceptionor anIncrementalCommandCanceledExceptiondepending 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
nullin 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.
-