Interface WorkItem
-
- All Known Subinterfaces:
HumanTaskWorkItem
public interface WorkItemRepresents one unit of work that needs to be executed. It contains all the information that it necessary to execute this unit of work as parameters, and (possibly) results related to its execution. WorkItems represent a unit of work in an abstract, high-level and implementation-independent manner. They are created by the engine whenever an external task needs to be performed. The engine will delegate the work item to the appropriateWorkItemHandlerfor execution. Whenever a work item is completed (or whenever the work item cannot be executed and should be aborted), the work item manager should be notified. For example, a work item could be created whenever an email needs to be sent. This work item would have a name that represents the type of work that needs to be executed (e.g. "Email") and parameters related to its execution (e.g. "From" = "me@mail.com", "To" = ..., "Body" = ..., ...). Result parameters can contain results related to the execution of this work item (e.g. "Success" = true).- See Also:
WorkItemHandler,WorkItemManager
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default booleanenforce(Policy<?>... policies)Enforces given policies on this work item.DategetCompleteDate()Returns timestamp indicating the completion date of this work itemStringgetId()The unique id of this work itemStringgetName()The name of the work item.NodeInstancegetNodeInstance()The node instance that is associated with this work itemObjectgetParameter(String name)Returns the value of the parameter with the given name.Map<String,Object>getParameters()Returns the map of parameters of this work item.StringgetPhaseId()Returns optional life cycle phase id associated with this work itemStringgetPhaseStatus()Returns optional life cycle phase status associated with this work itemProcessInstancegetProcessInstance()The process instance that requested the execution of this work itemStringgetProcessInstanceId()The id of the process instance that requested the execution of this work itemObjectgetResult(String name)Returns the value of the result parameter with the given name.Map<String,Object>getResults()Returns the map of result parameters of this work item.DategetStartDate()Returns timestamp indicating the start date of this work itemintgetState()The state of the work item.voidsetCompleteDate(Date date)voidsetNodeInstance(NodeInstance nodeInstance)voidsetPhaseId(String phaseId)voidsetPhaseStatus(String phaseStatus)voidsetProcessInstance(ProcessInstance processInstance)voidsetStartDate(Date date)
-
-
-
Field Detail
-
PENDING
static final int PENDING
- See Also:
- Constant Field Values
-
ACTIVE
static final int ACTIVE
- See Also:
- Constant Field Values
-
COMPLETED
static final int COMPLETED
- See Also:
- Constant Field Values
-
ABORTED
static final int ABORTED
- See Also:
- Constant Field Values
-
RETRYING
static final int RETRYING
- See Also:
- Constant Field Values
-
-
Method Detail
-
getId
String getId()
The unique id of this work item- Returns:
- the id of this work item
-
getName
String getName()
The name of the work item. This represents the type of work that should be executed.- Returns:
- the name of the work item
-
getState
int getState()
The state of the work item.- Returns:
- the state of the work item
-
getParameter
Object getParameter(String name)
Returns the value of the parameter with the given name. Parameters can be used to pass information necessary for the execution of this work item. Returnsnullif the parameter cannot be found.- Parameters:
name- the name of the parameter- Returns:
- the value of the parameter
-
getParameters
Map<String,Object> getParameters()
Returns the map of parameters of this work item. Parameters can be used to pass information necessary for the execution of this work item.- Returns:
- the map of parameters of this work item
-
getResult
Object getResult(String name)
Returns the value of the result parameter with the given name. Result parameters can be used to pass information related the result of the execution of this work item. Returnsnullif the result cannot be found.- Parameters:
name- the name of the result parameter- Returns:
- the value of the result parameter
-
getResults
Map<String,Object> getResults()
Returns the map of result parameters of this work item. Result parameters can be used to pass information related the result of the execution of this work item.- Returns:
- the map of results of this work item
-
getProcessInstanceId
String getProcessInstanceId()
The id of the process instance that requested the execution of this work item- Returns:
- the id of the related process instance
-
getPhaseId
String getPhaseId()
Returns optional life cycle phase id associated with this work item- Returns:
- optional life cycle phase id
-
getPhaseStatus
String getPhaseStatus()
Returns optional life cycle phase status associated with this work item- Returns:
- optional life cycle phase status
-
getStartDate
Date getStartDate()
Returns timestamp indicating the start date of this work item- Returns:
- start date
-
getCompleteDate
Date getCompleteDate()
Returns timestamp indicating the completion date of this work item- Returns:
- completion date
-
getNodeInstance
NodeInstance getNodeInstance()
The node instance that is associated with this work item- Returns:
- the related node instance
-
getProcessInstance
ProcessInstance getProcessInstance()
The process instance that requested the execution of this work item- Returns:
- the related process instance
-
setPhaseId
void setPhaseId(String phaseId)
-
setPhaseStatus
void setPhaseStatus(String phaseStatus)
-
setStartDate
void setStartDate(Date date)
-
setCompleteDate
void setCompleteDate(Date date)
-
setNodeInstance
void setNodeInstance(NodeInstance nodeInstance)
-
setProcessInstance
void setProcessInstance(ProcessInstance processInstance)
-
enforce
default boolean enforce(Policy<?>... policies)
Enforces given policies on this work item. It must false in case of any policy violations.- Parameters:
policies- optional policies to be enforced- Returns:
- return true if this work item can enforce all policies otherwise false
-
-