GWT 2.7.0

com.google.gwt.user.client
Class CommandExecutor

java.lang.Object
  extended by com.google.gwt.user.client.CommandExecutor

 class CommandExecutor
extends java.lang.Object

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.

TODO(mmendez): Can an SSW be detected without using a timer? Currently, if a 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
CommandExecutor()
           
 
Method Summary
protected  void doCommandCanceled()
          Removes the command from the queue and throws either a CommandCanceledException or an IncrementalCommandCanceledException depending on type of the command.
protected  void doExecuteCommands(double startTimeMillis)
          This method will dispatch commands from the command queue.
(package private)  java.util.List<java.lang.Object> getPendingCommands()
          This method is for testing only.
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.
(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 submit(Command command)
          Submits a Command for execution.
 void submit(IncrementalCommand command)
          Submits an IncrementalCommand for execution.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CommandExecutor

CommandExecutor()
Method Detail

submit

public void submit(Command command)
Submits a Command for execution.

Parameters:
command - command to submit

submit

public void submit(IncrementalCommand command)
Submits an IncrementalCommand for execution.

Parameters:
command - command to submit

doCommandCanceled

protected void doCommandCanceled()
Removes the command from the queue and throws either a CommandCanceledException or an IncrementalCommandCanceledException 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 is true:

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

java.util.List<java.lang.Object> 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.


GWT 2.7.0