| Package | org.puremvc.as3.patterns.command |
| Class | public class AsyncMacroCommand |
| Inheritance | AsyncMacroCommand org.puremvc.as3.patterns.observer.Notifier |
| Implements | IAsyncCommand, org.puremvc.as3.interfaces.INotifier |
ICommand implementation that executes other
ICommands asynchronously.
An AsyncMacroCommand maintains a list of
ICommand Class references called SubCommands.
When execute is called, the AsyncMacroCommand
caches a reference to the INotification and calls
nextCommand.
If there are still SubCommands's to be executed,
the nextCommand method instantiates and calls execute
on each of its SubCommands in turn. Each SubCommand will be passed
a reference to the original INotification that was passed to the
AsyncMacroCommand's execute method. If the
SubCommand to execute is an IAsyncCommand, the
next SubCommand will not be executed until the previous
IAsyncCommand has called its commandComplete method.
Unlike AsyncCommand and SimpleCommand, your subclass
should not override execute, but instead, should
override the initializeAsyncMacroCommand method,
calling addSubCommand once for each SubCommand
to be executed.
See also
| Method | Defined by | ||
|---|---|---|---|
|
Constructor.
| AsyncMacroCommand | ||
|
execute(notification:INotification):void
Starts execution of this
AsyncMacroCommand's SubCommands. | AsyncMacroCommand | ||
|
setOnComplete(value:Function):void
Registers the callback for a parent
AsyncMacroCommand. | AsyncMacroCommand | ||
| Method | Defined by | ||
|---|---|---|---|
|
addSubCommand(commandClassRef:Class):void
Add a SubCommand.
| AsyncMacroCommand | ||
|
initializeAsyncMacroCommand():void
Initialize the
AsyncMacroCommand. | AsyncMacroCommand | ||
| AsyncMacroCommand | () | constructor |
public function AsyncMacroCommand()Constructor.
You should not need to define a constructor,
instead, override the initializeAsyncMacroCommand
method.
If your subclass does define a constructor, be
sure to call super().
| addSubCommand | () | method |
protected function addSubCommand(commandClassRef:Class):voidAdd a SubCommand.
The SubCommands will be called in First In/First Out (FIFO) order.
ParameterscommandClassRef:Class — a reference to the Class of the ICommand.
|
| execute | () | method |
public final function execute(notification:INotification):void
Starts execution of this AsyncMacroCommand's SubCommands.
The SubCommands will be called in First In/First Out (FIFO) order.
Parametersnotification:INotification — the INotification object to be passsed to each SubCommand.
|
| initializeAsyncMacroCommand | () | method |
protected function initializeAsyncMacroCommand():void
Initialize the AsyncMacroCommand.
In your subclass, override this method to
initialize the AsyncMacroCommand's SubCommand
list with ICommand class references.
// Initialize MyMacroCommand
override protected function initializeAsyncMacroCommand() : void
{
addSubCommand( com.me.myapp.controller.FirstCommand );
addSubCommand( com.me.myapp.controller.SecondCommand );
addSubCommand( com.me.myapp.controller.ThirdCommand );
}
Note that SubCommands may be any ICommand implementor,
AsyncMacroCommands, AsyncCommands,
MacroCommands or SimpleCommands are all acceptable.
| setOnComplete | () | method |
public function setOnComplete(value:Function):void
Registers the callback for a parent AsyncMacroCommand.
value:Function — The AsyncMacroCommand method to call on completion
|