org.jbpm.api.model
Interface OpenExecution

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

public interface OpenExecution
extends Execution

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. Open refers to the relations being accessible. This is related to hibernate's lazy loading capabilities. That requires an active session. Inside process execution, there is such an active session and hence the relations can be exposed. But for the client of the service methods, it's not sure if the session is still active. That is why the relations are not exposed in the return values of service methods.

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.
 OpenExecution findActiveExecutionIn(java.lang.String activityName)
          find the execution in the given activity or null if no such activity exists
 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.
 OpenProcessInstance getProcessInstance()
          the main path of execution in the execution tree 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
 

Method Detail

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.

Returns:
whether a variable was actually found and removed.

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.


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 tree structure. The process instance is the root of the execution tree.

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 process instance.

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)
find the execution in the given activity or null if no such activity exists

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


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