ix.ileed
Class ProcessModel.Node

java.lang.Object
  |
  +--ix.ileed.ProcessModel.Node
All Implemented Interfaces:
EffectSymbols, Markable, StatusValues
Enclosing class:
ProcessModel

class ProcessModel.Node
extends java.lang.Object
implements Markable, StatusValues, EffectSymbols

Nodes represent actions in the process. Each node is based on a schema. If the node is for a particular COA, the schema must be instantiated for that coa by calling

    schema.forCoa(coaNumber)
 
where coaNumber is a Long. (It's a Long, because that's how integer values are represented by the Lisp tokenizer, and hence in the patterns that appear in Schemas.)

Note that Node is a member class of the ProcessModel class, and so each Node is associated with a particular "containing" instance of ProcessModel. To make it clearer when Node methods are referring to fields or methods of the containing instance, we use the syntax that makes that explicit:

    ProcessModel.this.field
    ProcessModel.this.method(...)
 
We also explicitly specify the containing model when creating a new Node.


Field Summary
(package private)  java.lang.String action
           
(package private)  LList children
           
(package private)  int coa
           
(package private)  LList descendents
           
(package private)  java.lang.Object effectPatSyntax
           
(package private)  boolean isDecisionSplit
           
(package private)  boolean isLoopBack
           
(package private)  boolean isLoopEntry
           
(package private)  boolean isOrJoin
           
(package private)  int iteration
           
(package private)  int level
           
(package private)  java.util.Vector loopBacks
           
(package private)  java.util.Vector loopFroms
           
(package private)  LList loopNodes
           
(package private)  Mark mark
           
(package private)  ProcessModel.Node parent
           
(package private)  LList pattern
           
(package private)  int planLevel
           
(package private)  java.util.Vector postNodes
           
(package private)  java.util.Vector preNodes
           
(package private)  Symbol Q_NAME
           
(package private)  Schema schema
           
(package private)  boolean setsParentPlanLevel
           
(package private)  int status
           
 
Fields inherited from interface ix.icore.process.StatusValues
PRIORITY_HIGH, PRIORITY_LOW, PRIORITY_MEDIUM, PRIORITY_NONE, PRODUCT_BLANK, PRODUCT_COMPLETE, PRODUCT_DRAFT, STATUS_BLANK, STATUS_COMPLETE, STATUS_EXECUTING, STATUS_IMPOSSIBLE, STATUS_NA, STATUS_POSSIBLE
 
Fields inherited from interface ix.icore.domain.EffectSymbols
K_COMPLETE, K_DRAFT, S_AT, S_FINISH, S_START
 
Constructor Summary
(package private) ProcessModel.Node()
           
(package private) ProcessModel.Node(ProcessModel.Node parent, LList pattern)
           
 
Method Summary
(package private)  void actionFinished()
           
(package private)  void actionFinished(int level)
           
(package private)  void actionStarted()
           
(package private)  void actionStarted(int level)
           
(package private)  void afterOrderings()
           
(package private)  void changeStatus(int newStatus)
           
(package private)  void completeDescendentExecution(int minIteration)
           
(package private)  void expand()
           
(package private)  LList getDescendents()
           
(package private)  LList getLoopNodes()
           
protected  Schema getSchema(LList pattern)
           
(package private)  void handleEffect(Effect e)
           
(package private)  void handleEffect(Effect e, int nodeStatus)
           
(package private)  void handleEffects(LList effects, int nodeStatus)
           
 boolean hasMark(Mark m)
           
(package private)  boolean isReady()
           
(package private)  void linkBefore(ProcessModel.Node after)
           
(package private)  void loopBackTo(ProcessModel.Node after)
           
(package private)  void newLoopIteration()
           
protected  java.lang.Long patternCoa(LList pattern)
           
(package private)  void processOrderings(LList nodes, LList orderings)
           
(package private)  void propagateActionStarted()
           
protected  void registerSelf()
           
 void setMark(Mark m)
           
(package private)  void setPlanLevel(int newLevel)
           
(package private)  StatusChange stateRecord()
           
(package private)  java.lang.String statusName(int status)
           
 java.lang.String toString()
           
(package private)  void walkDescendents(Function1 f)
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

schema

Schema schema

pattern

LList pattern

action

java.lang.String action

coa

int coa

level

int level

status

int status

iteration

int iteration

planLevel

int planLevel

isOrJoin

boolean isOrJoin

isDecisionSplit

boolean isDecisionSplit

isLoopEntry

boolean isLoopEntry

setsParentPlanLevel

boolean setsParentPlanLevel

isLoopBack

boolean isLoopBack

parent

ProcessModel.Node parent

children

LList children

descendents

LList descendents

preNodes

java.util.Vector preNodes

postNodes

java.util.Vector postNodes

loopBacks

java.util.Vector loopBacks

loopFroms

java.util.Vector loopFroms

loopNodes

LList loopNodes

mark

Mark mark

effectPatSyntax

java.lang.Object effectPatSyntax

Q_NAME

Symbol Q_NAME
Constructor Detail

ProcessModel.Node

ProcessModel.Node()

ProcessModel.Node

ProcessModel.Node(ProcessModel.Node parent,
                  LList pattern)
Method Detail

registerSelf

protected void registerSelf()

getSchema

protected Schema getSchema(LList pattern)

patternCoa

protected java.lang.Long patternCoa(LList pattern)

expand

void expand()

processOrderings

void processOrderings(LList nodes,
                      LList orderings)

linkBefore

void linkBefore(ProcessModel.Node after)

loopBackTo

void loopBackTo(ProcessModel.Node after)

afterOrderings

void afterOrderings()

getLoopNodes

LList getLoopNodes()

getDescendents

LList getDescendents()

walkDescendents

void walkDescendents(Function1 f)

actionStarted

void actionStarted(int level)

actionFinished

void actionFinished(int level)

actionStarted

void actionStarted()

newLoopIteration

void newLoopIteration()

completeDescendentExecution

void completeDescendentExecution(int minIteration)

propagateActionStarted

void propagateActionStarted()

actionFinished

void actionFinished()

isReady

boolean isReady()

changeStatus

void changeStatus(int newStatus)

setPlanLevel

void setPlanLevel(int newLevel)

statusName

java.lang.String statusName(int status)

stateRecord

StatusChange stateRecord()

handleEffects

void handleEffects(LList effects,
                   int nodeStatus)

handleEffect

void handleEffect(Effect e,
                  int nodeStatus)

handleEffect

void handleEffect(Effect e)

setMark

public void setMark(Mark m)
Specified by:
setMark in interface Markable

hasMark

public boolean hasMark(Mark m)
Specified by:
hasMark in interface Markable

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object