public class MBpmnModel extends MAnnotationElement implements jadex.commons.ICacheableModel
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<java.lang.String,MActivity> |
allactivities
The cached activities of the model.
|
protected java.util.Map<java.lang.String,MDataEdge> |
alldataedges
The data edges.
|
protected java.util.Map<java.lang.String,MSequenceEdge> |
alledges
The cached edges of the model.
|
protected java.util.Map<java.lang.String,MMessagingEdge> |
allmessagingedges
The messaging edges.
|
protected java.util.List<MDataEdge> |
argdataedges
The incoming data edges for arguments.
|
protected java.util.List<MArtifact> |
artifacts
The artifacts.
|
protected java.util.Map<java.lang.String,MIdElement> |
associationsources
The association sources.
|
protected java.util.Map<java.lang.String,MIdElement> |
associationtargets
The association targets.
|
protected java.util.Map<java.lang.String,java.util.List<MNamedIdElement>> |
configurations
The configurations (config name -> start elements).
|
static java.lang.String |
EVENT_END_CANCEL
Constant for event end cancellation.
|
static java.lang.String |
EVENT_END_COMPENSATION
Constant for event end compensation.
|
static java.lang.String |
EVENT_END_EMPTY
Constant for event end empty.
|
static java.lang.String |
EVENT_END_ERROR
Constant for event end error.
|
static java.lang.String |
EVENT_END_MESSAGE
Constant for event end message.
|
static java.lang.String |
EVENT_END_SIGNAL
Constant for event end signal.
|
static java.lang.String |
EVENT_END_TERMINATE
Constant for event end cancellation.
|
static java.lang.String |
EVENT_INTERMEDIATE_CANCEL
Constant for event intermediate cancellation.
|
static java.lang.String |
EVENT_INTERMEDIATE_COMPENSATION
Constant for event intermediate compensation.
|
static java.lang.String |
EVENT_INTERMEDIATE_EMPTY
Constant for event start empty.
|
static java.lang.String |
EVENT_INTERMEDIATE_ERROR
Constant for event intermediate error.
|
static java.lang.String |
EVENT_INTERMEDIATE_MESSAGE
Constant for event intermediate message.
|
static java.lang.String |
EVENT_INTERMEDIATE_MULTIPLE
Constant for event intermediate multiple.
|
static java.lang.String |
EVENT_INTERMEDIATE_RULE
Constant for event intermediate rule.
|
static java.lang.String |
EVENT_INTERMEDIATE_SIGNAL
Constant for event intermediate signal.
|
static java.lang.String |
EVENT_INTERMEDIATE_TIMER
Constant for event intermediate timer.
|
static java.lang.String |
EVENT_START_EMPTY
Constant for event start empty.
|
static java.lang.String |
EVENT_START_MESSAGE
Constant for event start message.
|
static java.lang.String |
EVENT_START_MULTIPLE
Constant for event start multiple.
|
static java.lang.String |
EVENT_START_RULE
Constant for event start rule.
|
static java.lang.String |
EVENT_START_SIGNAL
Constant for event start signal.
|
static java.lang.String |
EVENT_START_TIMER
Constant for event start timer.
|
protected java.util.Map<MSubProcess,java.util.List<MActivity>> |
eventsubprocessstartevents
The cached event subprocess start events of the model.
|
static java.lang.String |
GATEWAY_DATABASED_EXCLUSIVE
Constant for gateway data based exclusive.
|
static java.lang.String |
GATEWAY_DATABASED_INCLUSIVE
Constant for gateway data based exclusive.
|
static java.lang.String |
GATEWAY_PARALLEL
Constant for gateway parallel.
|
protected boolean |
keepalive
The keep alive flag that allows processes to stay after end event.
|
protected long |
lastchecked
The last check date.
|
protected long |
lastmodified
The last modified date.
|
protected java.util.List<MMessagingEdge> |
messages
The messages.
|
protected jadex.bridge.modelinfo.ModelInfo |
modelinfo
The model info.
|
protected java.util.Map<MIdElement,MIdElement> |
parents
Parents of activities.
|
protected java.util.List<MPool> |
pools
The pools.
|
static java.lang.String |
PROPERTY_EVENT_ERROR
Property name for error events.
|
static java.lang.String |
PROPERTY_EVENT_RULE_CONDITION
Property name for condition of rule events.
|
static java.lang.String |
PROPERTY_EVENT_RULE_EVENTTYPES
Property name for event types of rule events.
|
protected java.util.List<MDataEdge> |
resultdataedges
The outgoing data edges for results.
|
static java.lang.String |
SIGNAL_EVENT_TRIGGER
The signal event handler trigger parameter name.
|
static java.lang.String |
SUBPROCESS
Constant for sub process.
|
static java.lang.String |
TASK
Constant for task.
|
static java.lang.String |
TRIGGER
The process trigger name.
|
protected java.util.List<MActivity> |
typematchedstartevents
The cached type-matched start events of the model.
|
protected java.util.Map<java.lang.String,MContextVariable> |
variables
The context variables (name -> [class, initexpression]).
|
protected java.util.List<MActivity> |
waitingevents
The cached instance-matched events that require waiting.
|
annotations
id, ID_GENERATOR
Constructor and Description |
---|
MBpmnModel()
Create a new model.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addActivityTargets(MActivity act)
Internal add activity targets.
|
void |
addAllSubActivities(MSubProcess proc,
java.util.Map<java.lang.String,MActivity> activities)
Add all subactivities.
|
void |
addArgument(jadex.bridge.modelinfo.IArgument argument)
Add an argument.
|
void |
addArgumentDataEdge(MDataEdge edge)
Add an incoming edge.
|
void |
addArtifact(MArtifact artifact)
Add an artifact.
|
protected MArtifact |
addArtifacts(java.util.List<MArtifact> artifacts,
java.util.Map<java.lang.String,MIdElement> sources)
Add artifacts.
|
protected boolean |
addAssociations(java.lang.String assosdesc,
MIdElement target,
java.util.Map<java.lang.String,MIdElement> targets)
Internal add associations.
|
void |
addContextVariable(MContextVariable variable)
Add a context variable declaration.
|
protected void |
addEdges(java.util.List<MSequenceEdge> tmp,
java.util.Map<java.lang.String,MSequenceEdge> edges)
Add edges to the result map.
|
void |
addImport(java.lang.String imp)
Add an import.
|
void |
addMessagingEdge(MMessagingEdge message)
Add a message edge.
|
void |
addPool(MPool pool)
Add a pool.
|
void |
addProperty(java.lang.String name,
java.lang.Object value)
Add a property.
|
void |
addResult(jadex.bridge.modelinfo.IArgument result)
Add a result.
|
void |
addResultDataEdge(MDataEdge edge)
Add an outgoing edge.
|
void |
addStartElement(java.lang.String config,
MNamedIdElement element)
Add a start element for a configurations.
|
protected void |
addSubProcesses(MSubProcess subproc,
java.util.Map<java.lang.String,MIdElement> sources)
Add sub processes.
|
void |
clearCaches()
Clears the model caches if stale.
|
jadex.commons.Tuple2<jadex.commons.collection.BiHashMap<java.lang.String,java.lang.String>,java.util.List<MIdElement>> |
cloneElements(java.util.Set<MIdElement> originals)
Clones a set of elements.
|
MActivity |
getActivityById(java.lang.String id)
Get an activity by id.
|
java.util.Map<java.lang.String,MActivity> |
getAllActivities()
Get all activities.
|
java.util.Map<java.lang.String,MIdElement> |
getAllAssociationSources()
Get all association sources.
|
java.util.Map<java.lang.String,MIdElement> |
getAllAssociationTargets()
Get all association targets.
|
java.util.Map<java.lang.String,MDataEdge> |
getAllDataEdges()
Get all data edges.
|
java.util.Map<java.lang.String,MEdge> |
getAllEdges()
Get all edges.
|
protected void |
getAllEdges(MActivity act,
java.util.Map<java.lang.String,MSequenceEdge> edges)
Internal get all edges.
|
java.util.Map<java.lang.String,MMessagingEdge> |
getAllMessagingEdges()
Get all message edges.
|
java.util.Map<java.lang.String,MSequenceEdge> |
getAllSequenceEdges()
Get all sequence edges.
|
java.util.List<MDataEdge> |
getArgumentDataEdges()
Get the incoming data edges.
|
java.util.List<MArtifact> |
getArtifacts()
Get the artifacts.
|
java.lang.ClassLoader |
getClassLoader()
Get the classloader.
|
protected java.lang.String[] |
getConfigurations()
Get the configurations.
|
MContextVariable |
getContextVariable(java.lang.String name)
Get a declared context variable.
|
jadex.bridge.modelinfo.UnparsedExpression |
getContextVariableExpression(java.lang.String name,
java.lang.String config)
Get the initialization expression of a declared context variable.
|
java.util.List<MContextVariable> |
getContextVariables()
Get the declared context variables.
|
java.util.Map<MSubProcess,java.util.List<MActivity>> |
getEventSubProcessStartEventMapping()
Returns a mapping from event subprocesses to their start events.
|
java.util.List<MActivity> |
getEventSubProcessStartEvents()
Returns all start events in event subprocesses.
|
java.lang.String |
getFilename()
Get the filename.
|
long |
getLastChecked()
Get the last checked date.
|
long |
getLastModified()
Get the lastmodified date.
|
java.util.List<MMessagingEdge> |
getMessagingEdges()
Get the message edges.
|
jadex.bridge.modelinfo.IModelInfo |
getModelInfo()
Get the model info.
|
java.lang.String |
getName()
Get the name of the model.
|
MIdElement |
getParent(MIdElement element)
Gets the parent of an element.
|
MPool |
getPool(java.lang.String name)
Get the pools.
|
java.util.List<MPool> |
getPools()
Get the pools.
|
jadex.bridge.IResourceIdentifier |
getResourceIdentifier()
Get the resource identifier.
|
java.util.List<MDataEdge> |
getResultDataEdges()
Get the outgoing data edges.
|
java.util.List<MActivity> |
getStartActivities()
Get all start activities of the model.
|
static java.util.List<MActivity> |
getStartActivities(java.util.List<MActivity> activities)
Get all start activities form the supplied set of activities.
|
java.util.List<MActivity> |
getStartActivities(java.lang.String poolname,
java.lang.String lanename)
Get all start activities of the model.
|
java.util.List<MNamedIdElement> |
getStartElements(java.lang.String config)
Get the pool lane.
|
java.util.List<MActivity> |
getTypeMatchedStartEvents()
Returns all start events triggered based on type matching.
|
java.util.List<MActivity> |
getWaitingEvents()
Returns all events waiting for outside triggers.
|
protected void |
initMatchedStartEventCache()
Initializes the type and instance event trigger caches.
|
void |
initModelInfo(java.lang.ClassLoader cl)
Init the model info.
|
boolean |
isContainedInParentSet(java.util.Set<MIdElement> mmap,
MIdElement idelem)
Checks if an element or one of its parents is in a set.
|
boolean |
isKeepAlive()
Get the keepalive.
|
void |
removeArgumentDataEdge(MDataEdge edge)
Remove an outgoing edge.
|
void |
removeArtifact(MArtifact artifact)
Remove an artifact.
|
void |
removeConfiguration(java.lang.String config)
Removes a pool/lane activation for a configurations.
|
void |
removeContextVariable(MContextVariable variable)
Remove a context variable declaration.
|
void |
removeContextVariable(java.lang.String name)
Remove a context variable declaration.
|
void |
removeMessagingEdge(MMessagingEdge message)
Remove a message edge.
|
void |
removePool(MPool pool)
Remove a pool.
|
void |
removeResultDataEdge(MDataEdge edge)
Remove an outgoing edge.
|
void |
removeStartElement(java.lang.String config,
MNamedIdElement element)
Removes a pool/lane activation for a configurations.
|
void |
setArgumentDataEdges(java.util.List<MDataEdge> indataedges)
Set the incoming data edges.
|
void |
setClassLoader(java.lang.ClassLoader classloader)
Set the classloader.
|
void |
setContextVariableExpression(java.lang.String config,
jadex.bridge.modelinfo.UnparsedExpression exp)
Set the initialization expression of a declared context variable.
|
void |
setFilename(java.lang.String filename)
Set the filename.
|
void |
setKeepAlive(boolean keepalive)
Set the keepalive.
|
void |
setLastChecked(long lastchecked)
Set the last checked date.
|
void |
setLastModified(long lastmodified)
Set the lastmodified date.
|
void |
setName(java.lang.String name)
Set the name of the model.
|
void |
setPackage(java.lang.String packagename)
Set the package name.
|
void |
setResourceIdentifier(jadex.bridge.IResourceIdentifier rid)
Set the resource identifier.
|
void |
setResultDataEdges(java.util.List<MDataEdge> outdataedges)
Set the outgoing data edges.
|
java.lang.String |
toString()
Get a string representation of this AGR space type.
|
addAnnotation, getAnnotations
equals, getId, hashCode, setId
public static final java.lang.String TASK
public static final java.lang.String SUBPROCESS
public static final java.lang.String GATEWAY_PARALLEL
public static final java.lang.String GATEWAY_DATABASED_EXCLUSIVE
public static final java.lang.String GATEWAY_DATABASED_INCLUSIVE
public static final java.lang.String EVENT_START_EMPTY
public static final java.lang.String EVENT_START_MESSAGE
public static final java.lang.String EVENT_START_TIMER
public static final java.lang.String EVENT_START_RULE
public static final java.lang.String EVENT_START_SIGNAL
public static final java.lang.String EVENT_START_MULTIPLE
public static final java.lang.String EVENT_END_EMPTY
public static final java.lang.String EVENT_END_ERROR
public static final java.lang.String EVENT_END_MESSAGE
public static final java.lang.String EVENT_END_SIGNAL
public static final java.lang.String EVENT_END_COMPENSATION
public static final java.lang.String EVENT_END_CANCEL
public static final java.lang.String EVENT_END_TERMINATE
public static final java.lang.String EVENT_INTERMEDIATE_EMPTY
public static final java.lang.String EVENT_INTERMEDIATE_ERROR
public static final java.lang.String EVENT_INTERMEDIATE_RULE
public static final java.lang.String EVENT_INTERMEDIATE_SIGNAL
public static final java.lang.String EVENT_INTERMEDIATE_MESSAGE
public static final java.lang.String EVENT_INTERMEDIATE_TIMER
public static final java.lang.String EVENT_INTERMEDIATE_COMPENSATION
public static final java.lang.String EVENT_INTERMEDIATE_CANCEL
public static final java.lang.String EVENT_INTERMEDIATE_MULTIPLE
public static final java.lang.String PROPERTY_EVENT_ERROR
public static final java.lang.String PROPERTY_EVENT_RULE_CONDITION
public static final java.lang.String PROPERTY_EVENT_RULE_EVENTTYPES
public static final java.lang.String SIGNAL_EVENT_TRIGGER
public static final java.lang.String TRIGGER
protected java.util.List<MPool> pools
protected java.util.List<MArtifact> artifacts
protected java.util.List<MMessagingEdge> messages
protected java.util.List<MDataEdge> resultdataedges
protected java.util.List<MDataEdge> argdataedges
protected java.util.Map<java.lang.String,MSequenceEdge> alledges
protected java.util.Map<java.lang.String,MActivity> allactivities
protected java.util.Map<MSubProcess,java.util.List<MActivity>> eventsubprocessstartevents
protected java.util.List<MActivity> waitingevents
protected java.util.List<MActivity> typematchedstartevents
protected java.util.Map<MIdElement,MIdElement> parents
protected java.util.Map<java.lang.String,MIdElement> associationsources
protected java.util.Map<java.lang.String,MIdElement> associationtargets
protected java.util.Map<java.lang.String,MMessagingEdge> allmessagingedges
protected java.util.Map<java.lang.String,MDataEdge> alldataedges
protected java.util.Map<java.lang.String,MContextVariable> variables
protected java.util.Map<java.lang.String,java.util.List<MNamedIdElement>> configurations
protected boolean keepalive
protected long lastmodified
protected long lastchecked
protected jadex.bridge.modelinfo.ModelInfo modelinfo
public void initModelInfo(java.lang.ClassLoader cl)
public java.util.List<MPool> getPools()
public void addPool(MPool pool)
pool
- The pool.public void removePool(MPool pool)
pool
- The pool.public MPool getPool(java.lang.String name)
public java.util.List<MArtifact> getArtifacts()
public void addArtifact(MArtifact artifact)
artifact
- The artifact.public void removeArtifact(MArtifact artifact)
artifact
- The artifact.public java.util.List<MMessagingEdge> getMessagingEdges()
public void addMessagingEdge(MMessagingEdge message)
message
- The message edfe.public void removeMessagingEdge(MMessagingEdge message)
message
- The message.public java.util.Map<java.lang.String,MEdge> getAllEdges()
public java.util.Map<java.lang.String,MDataEdge> getAllDataEdges()
public java.util.Map<java.lang.String,MMessagingEdge> getAllMessagingEdges()
public java.util.Map<java.lang.String,MSequenceEdge> getAllSequenceEdges()
public java.util.Map<java.lang.String,MActivity> getAllActivities()
public void addAllSubActivities(MSubProcess proc, java.util.Map<java.lang.String,MActivity> activities)
protected void getAllEdges(MActivity act, java.util.Map<java.lang.String,MSequenceEdge> edges)
sub
- The subprocess.edges
- The edges (results will be added to this).protected void addEdges(java.util.List<MSequenceEdge> tmp, java.util.Map<java.lang.String,MSequenceEdge> edges)
tmp
- The list of edges.edges
- The result map (id -> edge).public java.util.Map<java.lang.String,MIdElement> getAllAssociationTargets()
protected void addActivityTargets(MActivity act)
act
- The activity.protected boolean addAssociations(java.lang.String assosdesc, MIdElement target, java.util.Map<java.lang.String,MIdElement> targets)
target
- The target.targets
- The targets result map.public java.util.Map<java.lang.String,MIdElement> getAllAssociationSources()
protected void addSubProcesses(MSubProcess subproc, java.util.Map<java.lang.String,MIdElement> sources)
subproc
- The sub process.sources
- The sources result map.public void addResultDataEdge(MDataEdge edge)
edge
- The edge.public void removeResultDataEdge(MDataEdge edge)
edge
- The edge.public void addArgumentDataEdge(MDataEdge edge)
edge
- The edge.public void removeArgumentDataEdge(MDataEdge edge)
edge
- The edge.public java.util.List<MDataEdge> getArgumentDataEdges()
public void setArgumentDataEdges(java.util.List<MDataEdge> indataedges)
indataedges
- The incoming data edges.public java.util.List<MDataEdge> getResultDataEdges()
public void setResultDataEdges(java.util.List<MDataEdge> outdataedges)
outdataedges
- The outgoing data edges.protected MArtifact addArtifacts(java.util.List<MArtifact> artifacts, java.util.Map<java.lang.String,MIdElement> sources)
artifacts
- The list of artifacts.sources
- The sources result map (association id -> art).public java.lang.String getName()
public void setName(java.lang.String name)
name
- The name to set.public java.util.List<MActivity> getStartActivities()
public java.util.List<MActivity> getStartActivities(java.lang.String poolname, java.lang.String lanename)
public void addStartElement(java.lang.String config, MNamedIdElement element)
config
- The configuration name.element
- The start element name.public java.util.List<MNamedIdElement> getStartElements(java.lang.String config)
config
- The configurations.public void removeStartElement(java.lang.String config, MNamedIdElement element)
config
- The configuration name.public void removeConfiguration(java.lang.String config)
config
- The configuration name.public void addImport(java.lang.String imp)
imp
- The import statement.public void setPackage(java.lang.String packagename)
packagename
- The package name to set.public java.lang.String toString()
toString
in class java.lang.Object
public static java.util.List<MActivity> getStartActivities(java.util.List<MActivity> activities)
public void addContextVariable(MContextVariable variable)
variable
- The variable.public void removeContextVariable(java.lang.String name)
name
- The variable name.public void removeContextVariable(MContextVariable variable)
variable
- The variable.public java.util.List<MContextVariable> getContextVariables()
public MContextVariable getContextVariable(java.lang.String name)
name
- The variable name.public jadex.bridge.modelinfo.UnparsedExpression getContextVariableExpression(java.lang.String name, java.lang.String config)
name
- The variable name.public void setContextVariableExpression(java.lang.String config, jadex.bridge.modelinfo.UnparsedExpression exp)
name
- The variable name.public void setFilename(java.lang.String filename)
filename
- The filename to set.public long getLastModified()
getLastModified
in interface jadex.commons.ICacheableModel
public void setLastModified(long lastmodified)
lastmodified
- The lastmodified date to set.public long getLastChecked()
getLastChecked
in interface jadex.commons.ICacheableModel
public void setLastChecked(long lastchecked)
setLastChecked
in interface jadex.commons.ICacheableModel
lastchecked
- The last checked date to set.protected java.lang.String[] getConfigurations()
public void addArgument(jadex.bridge.modelinfo.IArgument argument)
argument
- The argument.public void addProperty(java.lang.String name, java.lang.Object value)
public void addResult(jadex.bridge.modelinfo.IArgument result)
result
- The result.public jadex.bridge.modelinfo.IModelInfo getModelInfo()
public boolean isKeepAlive()
public void setKeepAlive(boolean keepalive)
keepalive
- The keepalive to set.public java.lang.ClassLoader getClassLoader()
public void setClassLoader(java.lang.ClassLoader classloader)
classloader
- The classloader to set.public void setResourceIdentifier(jadex.bridge.IResourceIdentifier rid)
rid
- The resource identifier.public jadex.bridge.IResourceIdentifier getResourceIdentifier()
public java.lang.String getFilename()
getFilename
in interface jadex.commons.ICacheableModel
public MIdElement getParent(MIdElement element)
element
- The element.public java.util.List<MActivity> getTypeMatchedStartEvents()
public java.util.List<MActivity> getEventSubProcessStartEvents()
public java.util.Map<MSubProcess,java.util.List<MActivity>> getEventSubProcessStartEventMapping()
public java.util.List<MActivity> getWaitingEvents()
protected void initMatchedStartEventCache()
public jadex.commons.Tuple2<jadex.commons.collection.BiHashMap<java.lang.String,java.lang.String>,java.util.List<MIdElement>> cloneElements(java.util.Set<MIdElement> originals)
originals
- The original elements.public boolean isContainedInParentSet(java.util.Set<MIdElement> mmap, MIdElement idelem)
mmap
- The set.idelem
- The elementpublic MActivity getActivityById(java.lang.String id)
id
- The id.public void clearCaches()