gugga.sequence.TaskSequence Class Reference

Inheritance diagram for gugga.sequence.TaskSequence:

Inheritance graph
[legend]
Collaboration diagram for gugga.sequence.TaskSequence:

Collaboration graph
[legend]
List of all members.

Detailed Description

TaskSequence is a container for sequentially executing tasks, and it is a task by itself. It will raise completed event, only if it is started through its start() method, and all of the tasks in the list are also completed.

The tasks container is arranged as a LinkedList. We iterate to the next task, only when the previous task is completed.

TaskSequence provides functionallity to edit the TasksList when the TaskSequence is already started. The only limitation is that the currently executing task can't be deleted - an attempt to do this will raise an exception.

Author:
Todor Kolev
See also:
gugga.collections.LinkedList

Definition at line 36 of file TaskSequence.as.

Public Member Functions

function get CurrentTask ()
function isRunning ()
function start ()
function addTask (aTask:ITask)
function addTaskAfter (aTargetTask:ITask, aTask:ITask)
function addTaskBefore (aTargetTask:ITask, aTask:ITask)
function removeLastTask ()
function removeFirstTask ()
function removeTask (aTask:ITask)
function removeTaskAfter (aTargetTask:ITask)
function removeTaskBefore (aTargetTask:ITask)
function getAllTasks ()
function isCurrentlyRunning (aTask:ITask)
function getCurrentlyRunningTask ()
function getTaskAfter (aTask:ITask)
function getTaskBefore (aTask:ITask)
function isImmediatelyInterruptable ()
function interrupt ()
function getFirstTask ()
function getLastTask ()
function markTask (aTask:ITask, aMarker:String)
function getMarkedTask (aMarker:String)

Package Functions

function TaskSequence ()

Private Member Functions

function startTask (aTask:ITask)
function onTaskCompleted (ev)
function onCurrentTaskInterrupted (ev)

Private Attributes

var mIsRunning: Boolean
var mCurrentItemCompletionListener: Listener
var mCurrentTask: ITask
var mTasksList: LinkedList
var mMarkedTasks: HashTable


Constructor & Destructor Documentation

function gugga.sequence.TaskSequence.TaskSequence (  )  [package]

Definition at line 49 of file TaskSequence.as.


Member Function Documentation

function get gugga.sequence.TaskSequence.CurrentTask (  ) 

Definition at line 44 of file TaskSequence.as.

function gugga.sequence.TaskSequence.isRunning (  ) 

Definition at line 56 of file TaskSequence.as.

function gugga.sequence.TaskSequence.start (  ) 

Definition at line 61 of file TaskSequence.as.

References gugga.events.EventDispatcher.dispatchEvent(), and gugga.events.EventDispatcher.dispatchEventLater().

Here is the call graph for this function:

function gugga.sequence.TaskSequence.startTask ( aTask:ITask   )  [private]

Definition at line 81 of file TaskSequence.as.

function gugga.sequence.TaskSequence.onTaskCompleted ( ev   )  [private]

Definition at line 92 of file TaskSequence.as.

References gugga.events.EventDispatcher.dispatchEvent().

Here is the call graph for this function:

function gugga.sequence.TaskSequence.addTask ( aTask:ITask   ) 

Definition at line 106 of file TaskSequence.as.

References gugga.events.EventDispatcher.dispatchEvent().

Here is the call graph for this function:

function gugga.sequence.TaskSequence.addTaskAfter ( aTargetTask:ITask  ,
aTask:ITask   
)

Definition at line 116 of file TaskSequence.as.

References gugga.events.EventDispatcher.dispatchEvent().

Here is the call graph for this function:

function gugga.sequence.TaskSequence.addTaskBefore ( aTargetTask:ITask  ,
aTask:ITask   
)

Definition at line 129 of file TaskSequence.as.

References gugga.events.EventDispatcher.dispatchEvent().

Here is the call graph for this function:

function gugga.sequence.TaskSequence.removeLastTask (  ) 

Definition at line 142 of file TaskSequence.as.

function gugga.sequence.TaskSequence.removeFirstTask (  ) 

Definition at line 148 of file TaskSequence.as.

function gugga.sequence.TaskSequence.removeTask ( aTask:ITask   ) 

Definition at line 154 of file TaskSequence.as.

References gugga.events.EventDispatcher.dispatchEvent().

Here is the call graph for this function:

function gugga.sequence.TaskSequence.removeTaskAfter ( aTargetTask:ITask   ) 

Definition at line 167 of file TaskSequence.as.

References gugga.events.EventDispatcher.dispatchEvent().

Here is the call graph for this function:

function gugga.sequence.TaskSequence.removeTaskBefore ( aTargetTask:ITask   ) 

Definition at line 180 of file TaskSequence.as.

References gugga.events.EventDispatcher.dispatchEvent().

Here is the call graph for this function:

function gugga.sequence.TaskSequence.getAllTasks (  ) 

Definition at line 193 of file TaskSequence.as.

function gugga.sequence.TaskSequence.isCurrentlyRunning ( aTask:ITask   ) 

Definition at line 207 of file TaskSequence.as.

function gugga.sequence.TaskSequence.getCurrentlyRunningTask (  ) 

Definition at line 212 of file TaskSequence.as.

function gugga.sequence.TaskSequence.getTaskAfter ( aTask:ITask   ) 

Definition at line 217 of file TaskSequence.as.

function gugga.sequence.TaskSequence.getTaskBefore ( aTask:ITask   ) 

Definition at line 239 of file TaskSequence.as.

function gugga.sequence.TaskSequence.isImmediatelyInterruptable (  ) 

Definition at line 267 of file TaskSequence.as.

function gugga.sequence.TaskSequence.interrupt (  ) 

Definition at line 279 of file TaskSequence.as.

References gugga.events.EventDispatcher.dispatchEvent().

Here is the call graph for this function:

function gugga.sequence.TaskSequence.onCurrentTaskInterrupted ( ev   )  [private]

Definition at line 298 of file TaskSequence.as.

References gugga.events.EventDispatcher.dispatchEvent().

Here is the call graph for this function:

function gugga.sequence.TaskSequence.getFirstTask (  ) 

Definition at line 303 of file TaskSequence.as.

function gugga.sequence.TaskSequence.getLastTask (  ) 

Definition at line 308 of file TaskSequence.as.

function gugga.sequence.TaskSequence.markTask ( aTask:ITask  ,
aMarker:String   
)

Definition at line 313 of file TaskSequence.as.

function gugga.sequence.TaskSequence.getMarkedTask ( aMarker:String   ) 

Definition at line 318 of file TaskSequence.as.


Member Data Documentation

var gugga.sequence.TaskSequence.mIsRunning [private]

Definition at line 40 of file TaskSequence.as.

var gugga.sequence.TaskSequence.mCurrentItemCompletionListener [private]

Definition at line 41 of file TaskSequence.as.

var gugga.sequence.TaskSequence.mCurrentTask [private]

Definition at line 43 of file TaskSequence.as.

var gugga.sequence.TaskSequence.mTasksList [private]

Definition at line 46 of file TaskSequence.as.

var gugga.sequence.TaskSequence.mMarkedTasks [private]

Definition at line 47 of file TaskSequence.as.


Generated on Fri May 11 17:14:47 2007 for GuggaFramework by  doxygen 1.5.2