Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## ix.icore.process
Class PNode

    java.lang.Object
      ix.icore.process.TimePoint
          ix.icore.process.PNode

All Implemented Interfaces:
  HasStatus

Direct Known Subclasses:
  AgendaItem

    public abstract class PNode

extends TimePoint
implements HasStatus

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 / simulator and expansion planner.

Nested Class Summary
`class` | `PNode.MakeVarIfUnbound`

Field Summary
`protected PNodeEnd` | `beginEnd`
`static boolean` | `computeStatus`
`protected PNodeEnd` | `endEnd`
`protected int` | `level`
`ProcessModelManager` | `modelManager`
`protected PNode` | `parent`

Fields inherited from class ix.icore.process.TimePoint
`tpn_mark`

Constructor Summary
`PNode(PNode parent)`

Method Summary
`void` | `addChild(PNode child, PNode after)`
`static void` | `allComputeStatus(java.util.List l)`
`static boolean` | `allHaveStatus(java.util.List l, Status status)`
`void` | `assignStatus(Status status)`
`void` | `computeStatus()` computeStatus() is used to change the status of related nodes when a node changes its status.
`void` | `ensureChildrenLinkedToParent()`
`java.util.Map` | `expandOneLevel(Refinement sourceRefinement, MatchEnv env)` Creates child nodes as specified by a refinement and installs ordering links.
`PNodeEnd` | `getBegin()`
`java.util.List<PNode>` | `getChildren()`
`PNodeEnd` | `getEnd()`
`int` | `getLevel()`
`ProcessModelManager` | `getModelManager()`
`PNode` | `getParentPNode()`
`abstract LList` | `getPattern()`
`Refinement` | `getRefinement()`
`abstract Status` | `getStatus()`
`java.util.Map` | `getVarTable()`
`boolean` | `hasChildren()`
`boolean` | `isAncestorOf(PNode n)`
`boolean` | `isDescendentOf(PNode n)`
`boolean` | `isExpanded()`
`boolean` | `isSiblingOf(PNode n)`
`protected abstract PNode` | `makePNode(PNode parent, LList pattern)`
`void` | `processOrderings(java.util.List orderings, java.util.Map nameToChildMap)`
`void` | `setChildren(java.util.List l)`
`void` | `setRefinement(Refinement r)`
`void` | `setStatus(Status status)` Changes the node's status and then that of related nodes.
`void` | `setVarTable(java.util.Map vt)`
`Status` | `statusFromNodeEnds()`
`void` | `unlink()`

Methods inherited from class ix.icore.process.TimePoint
`addPostConstraint, addPreConstraint, getMaxTime, getMinTime, getPostConstraints, getPreConstraints, hasUnboundedMax, removePostConstraint, removePreConstraint, setMaxTime, setMinTime`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### computeStatus

    public static boolean computeStatus

### modelManager

    public ProcessModelManager modelManager

### level

    protected int level

### parent

    protected PNode parent

### beginEnd

    protected PNodeEnd beginEnd

### endEnd

    protected PNodeEnd endEnd

Constructor Detail

### PNode

    public PNode(PNode parent)

Method Detail

### getPattern

    public abstract LList getPattern()

### getLevel

    public int getLevel()

### getBegin

    public PNodeEnd getBegin()

### getEnd

    public PNodeEnd getEnd()

### getParentPNode

    public PNode getParentPNode()

### getChildren

    public java.util.List<PNode> getChildren()

### hasChildren

    public boolean hasChildren()

### setChildren

    public void setChildren(java.util.List l)

### getModelManager

    public ProcessModelManager getModelManager()

### getVarTable

    public java.util.Map getVarTable()

### setVarTable

    public void setVarTable(java.util.Map vt)

### getRefinement

    public Refinement getRefinement()

### setRefinement

    public void setRefinement(Refinement r)

### getStatus

    public abstract Status getStatus()

  Specified by:
    `getStatus` in interface `HasStatus`

### isSiblingOf

    public boolean isSiblingOf(PNode n)

### isAncestorOf

    public boolean isAncestorOf(PNode n)

### isDescendentOf

    public boolean isDescendentOf(PNode n)

### isExpanded

    public boolean isExpanded()

### unlink

    public void unlink()

### addChild

    public void addChild(PNode child,
                         PNode after)

### expandOneLevel

    public java.util.Map expandOneLevel(Refinement sourceRefinement,
                                        MatchEnv env)

  Creates child nodes as specified by a refinement and installs ordering links. The subnodes are constructed by a factory method so that they can be instances of a subclass of Node and to allow other, related objects to be constructed at the same time.

  Returns:
    a map from the ids of child nodes to those children. The ids are taken from the node-specs in the refinement.

### makePNode

    protected abstract PNode makePNode(PNode parent,
                                       LList pattern)

### processOrderings

    public void processOrderings(java.util.List orderings,
                                 java.util.Map nameToChildMap)

### ensureChildrenLinkedToParent

    public void ensureChildrenLinkedToParent()

### computeStatus

    public void computeStatus()

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

  Specified by:
    `computeStatus` in interface `HasStatus`

### setStatus

    public void setStatus(Status status)

  Changes the node's status and then that of related nodes.

  Specified by:
    `setStatus` in interface `HasStatus`

### assignStatus

    public void assignStatus(Status status)

### statusFromNodeEnds

    public Status statusFromNodeEnds()

### allHaveStatus

    public static boolean allHaveStatus(java.util.List l,
                                        Status status)

### allComputeStatus

    public static void allComputeStatus(java.util.List l)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD