public abstract class AbstractChoreographyCheck
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractChoreographyCheck.Direction
enum, that is used in methods, that act generically for predecessor and
successors, to indicate the interesting direction
|
Modifier and Type | Field and Description |
---|---|
protected ModelAdaptor |
model |
protected BPMNValidator |
validator |
Constructor and Description |
---|
AbstractChoreographyCheck(ModelAdaptor model,
BPMNValidator validator) |
Modifier and Type | Method and Description |
---|---|
abstract void |
checkNode(NodeAdaptor object)
performs the checks necessary for a given object
|
protected java.util.Collection<NodeAdaptor> |
choreographyActivitiesIn(java.util.Collection<NodeAdaptor> nodes) |
protected java.util.Collection<NodeAdaptor> |
directlyPrecedingChoreographyActivities(NodeAdaptor node) |
protected java.util.Collection<NodeAdaptor> |
directlySucceedingChoreographyActivities(NodeAdaptor node) |
protected java.util.Collection<NodeAdaptor> |
getFinalTasksWithoutParticipant(NodeAdaptor activity,
java.lang.String participant)
identifies the ChoreographyTasks in which the specified participant is not
involved and that are final for the specified activity (for ChoreographyTasks:
the task itself, for ChoreographySubProcesses: the ChoreographyTasks, that
can occur last in this SubProcess)
|
protected java.util.Collection<NodeAdaptor> |
neighbourChoreographyActivities(NodeAdaptor node,
AbstractChoreographyCheck.Direction direction) |
protected java.util.Collection<NodeAdaptor> |
neighbourNodes(NodeAdaptor node,
AbstractChoreographyCheck.Direction direction) |
protected java.util.Collection<NodeAdaptor> |
nextNeighbourChoreographyActivities(java.util.Collection<NodeAdaptor> active,
AbstractChoreographyCheck.Direction direction)
collects all following ChoreographyActities, skipping other nodes than
ChoreographyActivities and following LinkEvents.
|
protected java.util.Collection<NodeAdaptor> |
nodesWithoutSequenceFlowInDirection(SubChoreographyAdaptor subProcess,
AbstractChoreographyCheck.Direction direction) |
protected java.util.Collection<NodeAdaptor> |
nodesWithSequenceFlowOverBorder(SubChoreographyAdaptor subProcess,
AbstractChoreographyCheck.Direction direction)
Identifies the nodes whithin subProcess, that have incoming/outgoing
(according to direction) SequenceFlow from/to ProcessNodes, that are not
within subProcess.
|
protected boolean |
noticesCompletion(java.lang.String participant,
NodeAdaptor node)
tests, wheter a participant will know when a Choreography-Activity has been
finished, i.e. if the node is a ChoreographyTask, he is a participant of the
task or if the node is a ChoreographySubProcess, he is a participant of all
activities that can occur as last activities in this SubProcess.
|
protected java.util.Collection<NodeAdaptor> |
precedingChoreographyActivities(NodeAdaptor node)
finds all ChoreographyActivities, that may directly preceed the given node
in execution (ProcessNodes other then ChoreographyActivities are ignored).
|
void |
setModel(ModelAdaptor model) |
protected java.util.Collection<NodeAdaptor> |
succeedingChoreographyActivities(NodeAdaptor node)
finds all ChoreographyActivities, that may directly follow the given node
in execution (ProcessNodes other then ChoreographyActivities are ignored).
|
protected ModelAdaptor model
protected BPMNValidator validator
public AbstractChoreographyCheck(ModelAdaptor model, BPMNValidator validator)
public void setModel(ModelAdaptor model)
public abstract void checkNode(NodeAdaptor object)
object
- a ProcessObject that should be checked. This can be any
ProcessObject. If the object is not of interest for this ChoreographyCheck,
it will report no problemsprotected boolean noticesCompletion(java.lang.String participant, NodeAdaptor node)
protected java.util.Collection<NodeAdaptor> getFinalTasksWithoutParticipant(NodeAdaptor activity, java.lang.String participant)
protected java.util.Collection<NodeAdaptor> nodesWithSequenceFlowOverBorder(SubChoreographyAdaptor subProcess, AbstractChoreographyCheck.Direction direction)
protected java.util.Collection<NodeAdaptor> nodesWithoutSequenceFlowInDirection(SubChoreographyAdaptor subProcess, AbstractChoreographyCheck.Direction direction)
protected java.util.Collection<NodeAdaptor> directlySucceedingChoreographyActivities(NodeAdaptor node)
protected java.util.Collection<NodeAdaptor> succeedingChoreographyActivities(NodeAdaptor node)
protected java.util.Collection<NodeAdaptor> directlyPrecedingChoreographyActivities(NodeAdaptor node)
protected java.util.Collection<NodeAdaptor> precedingChoreographyActivities(NodeAdaptor node)
protected java.util.Collection<NodeAdaptor> nextNeighbourChoreographyActivities(java.util.Collection<NodeAdaptor> active, AbstractChoreographyCheck.Direction direction)
protected java.util.Collection<NodeAdaptor> choreographyActivitiesIn(java.util.Collection<NodeAdaptor> nodes)
protected java.util.Collection<NodeAdaptor> neighbourNodes(NodeAdaptor node, AbstractChoreographyCheck.Direction direction)
protected java.util.Collection<NodeAdaptor> neighbourChoreographyActivities(NodeAdaptor node, AbstractChoreographyCheck.Direction direction)