ix.icore.process
Class PNode

java.lang.Object
  |
  +--ix.icore.process.PNode
All Implemented Interfaces:
StatusValues
Direct Known Subclasses:
IdeelIssue

public class PNode
extends java.lang.Object
implements StatusValues

A node that represents an action in a process. This class supports expansion into subactions and the propagation of status changes, thus acting as a simple process model and expansion planner.


Field Summary
 LList children
           
 int level
           
 PNode parent
           
 LList pattern
           
 java.util.Vector postNodes
           
 java.util.Vector preNodes
           
 Schema schema
           
 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
 
Constructor Summary
PNode(PNode parent, LList pattern)
           
 
Method Summary
static void allComputeStatus(java.util.Enumeration e)
           
static boolean allHaveStatus(java.util.Enumeration e, int status)
           
 void computeStatus()
          computeStatus() is used to change the status of related nodes when a node changes its status.
 void expandOneLevel(Schema schema, PNodeMaker nodeMaker)
          Creates child nodes as specified by a schema and installs ordering links.
protected  void linkBefore(PNode after)
           
protected  void processOrderings(LList nodes, LList orderings)
           
 void setStatus(int status)
          Changes the node's status and then that of related nodes.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

pattern

public LList pattern

level

public int level

status

public int status

parent

public PNode parent

children

public LList children

preNodes

public java.util.Vector preNodes

postNodes

public java.util.Vector postNodes

schema

public Schema schema
Constructor Detail

PNode

public PNode(PNode parent,
             LList pattern)
Method Detail

expandOneLevel

public void expandOneLevel(Schema schema,
                           PNodeMaker nodeMaker)
Creates child nodes as specified by a schema and installs ordering links. The subnodes are constructed by a NodeMaker so that they can be instances of a subclass of Node and to allow other, related objects to be constructed at the same time.

processOrderings

protected void processOrderings(LList nodes,
                                LList orderings)

linkBefore

protected void linkBefore(PNode after)

computeStatus

public void computeStatus()
computeStatus() is used to change the status of related nodes when a node changes its status.

setStatus

public void setStatus(int status)
Changes the node's status and then that of related nodes.

allHaveStatus

public static boolean allHaveStatus(java.util.Enumeration e,
                                    int status)

allComputeStatus

public static void allComputeStatus(java.util.Enumeration e)

toString

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