Package org.jbpm.pvm.impl

default implementation of process execution in ExecutionImpl based on AtomicOperations Bidirectional relations In this process model thoughout the pvm codebase, there are several bidirectional relations.

See:
          Description

Interface Summary
AtomicOperation  
VariableTypeResolver  
 

Class Summary
CommentImpl  
CompositeElementImpl  
EventImpl  
EventListenerReference  
ExceptionHandlerImpl  
ExecuteNodeMessage  
ExecuteNodeOp  
ExecutionImpl  
ExecutionScopeIterator  
MoveToChildNodeOp  
MoveToParentNodeOp  
NodeImpl  
ObjectReference<T>  
ObservableElementImpl observable and visible process elements.
ProceedToDestinationMessage  
ProceedToDestinationOp  
ProcessDefinitionImpl  
ProcessElementImpl superclass for NodeImpl, TransitionImpl and ProcessDefinitionImpl.
ProcessModificationsImpl  
ProcessModificationsImpl.AddedAction  
ProcessModificationsImpl.AddedNode  
ProcessModificationsImpl.AddedTransition  
SignalMessage  
SignalOp  
TakeTransitionMessage  
TakeTransitionOp  
TransitionImpl  
TriggerImpl  
VariableDefinitionImpl  
VariableMap maintains a map of named objects.
VariableScopeIterator  
WireProperties  
 

Package org.jbpm.pvm.impl Description

default implementation of process execution in ExecutionImpl based on AtomicOperations

Bidirectional relations

In this process model thoughout the pvm codebase, there are several bidirectional relations. By convention, the bidirectional relations are maintained on the many side. This means that when you call for example CompositeElementImpl.addNode(org.jbpm.pvm.impl.NodeImpl), that method will also update the inverse pointer by invoking the ProcessElementImpl.setProcessDefinition(org.jbpm.pvm.impl.ProcessDefinitionImpl) setter. Setter methods will be plain setter methods and they will NOT update the inverse reference. (that would cause an infinite loop).

In the same spirit, there is the convention that the many side of bidirection relations provide factory methods for the related objects. Those factory methods will also establish the bidirectional relation. E.g. CompositeElementImpl.createNode(String).