org.jbpm.api.model
Interface OpenExecution

All Superinterfaces:
Discussable, Execution, java.io.Serializable
All Known Subinterfaces:
ActivityExecution, ClientExecution, ClientProcessInstance, EventListenerExecution, OpenProcessInstance

public interface OpenExecution
extends Execution, Discussable

execution that opens up access to the related objects in the execution and process definition model. This execution exposes the execution hierarchy, variable access and associated timers. This is an execution that can be used backed by an open persistence session. Typically inside of an environment block. Navigation over the related model objects will load the related objects transparently with lazy loading.

Author:
Tom Baeyens

Field Summary
 
Fields inherited from interface org.jbpm.api.Execution
STATE_ACTIVE_CONCURRENT, STATE_ACTIVE_ROOT, STATE_ASYNC, STATE_CREATED, STATE_ENDED, STATE_INACTIVE_CONCURRENT_ROOT, STATE_INACTIVE_JOIN, STATE_INACTIVE_SCOPE, STATE_SUSPENDED
 
Method Summary
 void createVariable(java.lang.String key, java.lang.Object value)
          create a new variable in this execution scope and determine the type automagically.
 void createVariable(java.lang.String key, java.lang.Object value, java.lang.String typeName)
          create a new variable in this execution scope with the given type name.
 OpenExecution findActiveExecutionIn(java.lang.String activityName)
          search for an execution that is active and in the given activityName.
 OpenExecution getExecution(java.lang.String name)
          the child execution for the given name or null in case such execution doesn't exist.
 OpenExecution getParent()
          the parent execution in the execution structure.
 OpenProcessDefinition getProcessDefinition()
          the process definition for this execution.
 OpenProcessInstance getProcessInstance()
          the main path of execution in the execution structure.
 OpenExecution getSubProcessInstance()
          the related sub process execution.
 java.lang.Object getVariable(java.lang.String key)
          retrieve the value for the given key.
 java.util.Set<java.lang.String> getVariableKeys()
          a non-null set that contains all the keys present in this scope.
 java.util.Map<java.lang.String,java.lang.Object> getVariables()
          a non-null map containing all the key-value pairs in this scope.
 boolean hasVariable(java.lang.String key)
          indicates presenve of the given key.
 boolean hasVariables()
          indicates if there are keys in this scope.
 boolean removeVariable(java.lang.String key)
          remove the key-value pair for the given key from this scope.
 void removeVariables()
          removes all variables in this scope
 void setPriority(int priority)
          setter for the priority.
 void setState(java.lang.String state)
          update the state
 void setVariable(java.lang.String key, java.lang.Object value)
          updates or creates a variable for the given value.
 void setVariables(java.util.Map<java.lang.String,?> variables)
          sets all given variables.
 
Methods inherited from interface org.jbpm.api.Execution
findActiveActivityNames, getExecutions, getExecutionsMap, getId, getKey, getName, getPriority, getProcessDefinitionId, getState, hasExecution, isActive, isEnded, isProcessInstance, isSuspended
 
Methods inherited from interface org.jbpm.api.model.Discussable
createComment, getComments, removeComment
 

Method Detail

getProcessDefinition

OpenProcessDefinition getProcessDefinition()
the process definition for this execution.


setState

void setState(java.lang.String state)
update the state


getSubProcessInstance

OpenExecution getSubProcessInstance()
the related sub process execution.


getVariable

java.lang.Object getVariable(java.lang.String key)
retrieve the value for the given key. The value can be null. If there is no value for the given key, the returned value will also be null. The value for key null will always be null as null keys are not allowed.


setVariable

void setVariable(java.lang.String key,
                 java.lang.Object value)
updates or creates a variable for the given value. Values are allowed to be null.

Throws:
JbpmException - if key is null.

setVariables

void setVariables(java.util.Map<java.lang.String,?> variables)
sets all given variables. Existing key-value pairs for which there is no key in the provided variables will not be removed.

Throws:
JbpmException - is variables is not null and if null is present as a key in the provided variables map.

hasVariable

boolean hasVariable(java.lang.String key)
indicates presenve of the given key. No exception will be thrown if key is null.

Returns:
true if the key is present and false if the key doesn't exist or if key is null.

removeVariable

boolean removeVariable(java.lang.String key)
remove the key-value pair for the given key from this scope. No exception will be thrown when the variable is not present.


removeVariables

void removeVariables()
removes all variables in this scope


hasVariables

boolean hasVariables()
indicates if there are keys in this scope.


getVariableKeys

java.util.Set<java.lang.String> getVariableKeys()
a non-null set that contains all the keys present in this scope. Even if there are no variable keys, an empty, non-null set will be returned.


getVariables

java.util.Map<java.lang.String,java.lang.Object> getVariables()
a non-null map containing all the key-value pairs in this scope. Even if there are no variable keys, an empty, non-null map will be returned.


createVariable

void createVariable(java.lang.String key,
                    java.lang.Object value)
create a new variable in this execution scope and determine the type automagically.


createVariable

void createVariable(java.lang.String key,
                    java.lang.Object value,
                    java.lang.String typeName)
create a new variable in this execution scope with the given type name.


setPriority

void setPriority(int priority)
setter for the priority. The default priority is 0, which means NORMAL. Other recognized named priorities are HIGHEST (2), HIGH (1), LOW (-1) and LOWEST (-2). For the rest, the user can set any other priority integer value, but then, the UI will have to display it as an integer and not the named value.


getProcessInstance

OpenProcessInstance getProcessInstance()
the main path of execution in the execution structure. Null will be returned in case this execution itself is the main execution path.

Specified by:
getProcessInstance in interface Execution

getParent

OpenExecution getParent()
the parent execution in the execution structure. Null will be returned in case this execution itself is the main execution path.

Specified by:
getParent in interface Execution

getExecution

OpenExecution getExecution(java.lang.String name)
the child execution for the given name or null in case such execution doesn't exist.

Specified by:
getExecution in interface Execution

findActiveExecutionIn

OpenExecution findActiveExecutionIn(java.lang.String activityName)
Description copied from interface: Execution
search for an execution that is active and in the given activityName. Returns null in case there is no such execution.

Specified by:
findActiveExecutionIn in interface Execution
See Also:
Execution.findActiveActivityNames()


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