GWT 2.5.0.rc1

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 the current GWT.UncaughtExceptionHandler 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()
          Reports either a CommandCanceledException or an IncrementalCommandCanceledException back through the GWT.UncaughtExceptionHandler if one is set.
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()
Reports either a CommandCanceledException or an IncrementalCommandCanceledException back through the GWT.UncaughtExceptionHandler if one is set.


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.5.0.rc1