org.jbpm.graph.def
Class SuperState

java.lang.Object
  extended by org.jbpm.graph.def.GraphElement
      extended by org.jbpm.graph.def.Node
          extended by org.jbpm.graph.def.SuperState
All Implemented Interfaces:
java.io.Serializable, Identifiable, NodeCollection, Parsable

public class SuperState
extends Node
implements Parsable, NodeCollection

brings hierarchy into the elements of a process definition by creating a parent-child relation between GraphElements.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jbpm.graph.def.Node
Node.NodeType
 
Field Summary
protected  java.util.List nodes
           
static java.lang.String[] supportedEventTypes
           
 
Fields inherited from class org.jbpm.graph.def.Node
action, arrivingTransitions, isAsync, isAsyncExclusive, leavingTransitions, superState
 
Fields inherited from class org.jbpm.graph.def.GraphElement
description, events, exceptionHandlers, name, processDefinition
 
Constructor Summary
SuperState()
           
SuperState(java.lang.String name)
           
 
Method Summary
 Node addNode(Node node)
          adds the given node to this node-collection.
 boolean containsNode(Node node)
          recursively checks if the given node is one of the descendants of this supernode.
 void execute(ExecutionContext executionContext)
          override this method to customize the node behaviour.
 Node findNode(java.lang.String hierarchicalName)
          finds the node by the given hierarchical name.
 java.lang.String generateNodeName()
          generates a new name for a node to be added to this collection.
 Node getNode(java.lang.String name)
          retrieves a node by name.
 java.util.List getNodes()
          returns a list of child nodes (only applicable for SuperState)s.
 java.util.Map getNodesMap()
          maps node-names to nodes.
 GraphElement getParent()
          is the SuperState or the ProcessDefinition in which this node is contained.
 java.lang.String[] getSupportedEventTypes()
          indicative set of event types supported by this graph element. this is currently only used by the process designer to know which event types to show on a given graph element. in process definitions and at runtime, there are no constraints on the event-types.
 boolean hasNode(java.lang.String name)
          is true if this node-collection contains a node with the given name, false otherwise.
 boolean isSuperStateNode()
          indicates wether this node is a superstate.
 void read(org.dom4j.Element element, JpdlXmlReader jpdlReader)
           
 Node removeNode(Node node)
          removes the given node from this node-collection.
 void reorderNode(int oldIndex, int newIndex)
          changes the order of the nodes : the node on oldIndex is removed and inserted in the newIndex.
 
Methods inherited from class org.jbpm.graph.def.Node
addArrivingTransition, addLeavingTransition, addNodeLog, createAsyncContinuationJob, enter, generateNextLeavingTransitionName, getAction, getArrivingTransitions, getDefaultLeavingTransition, getFullyQualifiedName, getLeavingTransition, getLeavingTransitions, getLeavingTransitionsList, getLeavingTransitionsMap, getNameExt, getNodeType, getProcessDefinition, getSuperState, hasLeavingTransition, hasNoLeavingTransitions, isAsync, isAsyncExclusive, leave, leave, leave, removeArrivingTransition, removeLeavingTransition, reorderLeavingTransition, setAction, setAsync, setAsyncExclusive, setName, write
 
Methods inherited from class org.jbpm.graph.def.GraphElement
addEvent, addExceptionHandler, createAsyncActionExecutionJob, equals, executeAction, findExceptionHandler, fireAndPropagateEvent, fireEvent, getDescription, getEvent, getEvents, getExceptionHandlers, getId, getName, getParentChain, getParents, hasEvent, hasEvents, hashCode, raiseException, removeEvent, removeExceptionHandler, reorderExceptionHandler, setDescription, setProcessDefinition, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jbpm.jpdl.xml.Parsable
write
 

Field Detail

nodes

protected java.util.List nodes

supportedEventTypes

public static final java.lang.String[] supportedEventTypes
Constructor Detail

SuperState

public SuperState()

SuperState

public SuperState(java.lang.String name)
Method Detail

getSupportedEventTypes

public java.lang.String[] getSupportedEventTypes()
Description copied from class: GraphElement
indicative set of event types supported by this graph element. this is currently only used by the process designer to know which event types to show on a given graph element. in process definitions and at runtime, there are no constraints on the event-types.

Overrides:
getSupportedEventTypes in class Node

read

public void read(org.dom4j.Element element,
                 JpdlXmlReader jpdlReader)
Specified by:
read in interface Parsable
Overrides:
read in class Node

execute

public void execute(ExecutionContext executionContext)
Description copied from class: Node
override this method to customize the node behaviour.

Overrides:
execute in class Node

getNodes

public java.util.List getNodes()
Description copied from class: Node
returns a list of child nodes (only applicable for SuperState)s.

Specified by:
getNodes in interface NodeCollection
Overrides:
getNodes in class Node

getNodesMap

public java.util.Map getNodesMap()
Description copied from interface: NodeCollection
maps node-names to nodes. returns an empty map if no nodes are contained.

Specified by:
getNodesMap in interface NodeCollection

getNode

public Node getNode(java.lang.String name)
Description copied from interface: NodeCollection
retrieves a node by name.

Specified by:
getNode in interface NodeCollection
Returns:
the node or null if no such node is present.

hasNode

public boolean hasNode(java.lang.String name)
Description copied from interface: NodeCollection
is true if this node-collection contains a node with the given name, false otherwise.

Specified by:
hasNode in interface NodeCollection

addNode

public Node addNode(Node node)
Description copied from interface: NodeCollection
adds the given node to this node-collection.

Specified by:
addNode in interface NodeCollection
Returns:
the added node.

removeNode

public Node removeNode(Node node)
Description copied from interface: NodeCollection
removes the given node from this node-collection.

Specified by:
removeNode in interface NodeCollection
Returns:
the removed node or null if the node was not present in this collection.

reorderNode

public void reorderNode(int oldIndex,
                        int newIndex)
Description copied from interface: NodeCollection
changes the order of the nodes : the node on oldIndex is removed and inserted in the newIndex. All nodes inbetween the old and the new index shift one index position.

Specified by:
reorderNode in interface NodeCollection

generateNodeName

public java.lang.String generateNodeName()
Description copied from interface: NodeCollection
generates a new name for a node to be added to this collection.

Specified by:
generateNodeName in interface NodeCollection

findNode

public Node findNode(java.lang.String hierarchicalName)
Description copied from interface: NodeCollection
finds the node by the given hierarchical name. use .. for the parent, use slashes '/' to separate the node names.

Specified by:
findNode in interface NodeCollection

containsNode

public boolean containsNode(Node node)
recursively checks if the given node is one of the descendants of this supernode.


getParent

public GraphElement getParent()
Description copied from class: Node
is the SuperState or the ProcessDefinition in which this node is contained.

Overrides:
getParent in class Node

isSuperStateNode

public boolean isSuperStateNode()
Description copied from class: Node
indicates wether this node is a superstate.

Overrides:
isSuperStateNode in class Node


Copyright © 2009 JBoss, a division of Red Hat. All Rights Reserved.