Package com.dtolabs.rundeck.core.rules
Interface StateWorkflowSystem
-
- All Superinterfaces:
WorkflowSystem<java.util.Map<java.lang.String,java.lang.String>>
- All Known Implementing Classes:
WorkflowEngine
public interface StateWorkflowSystem extends WorkflowSystem<java.util.Map<java.lang.String,java.lang.String>>
Uses a mutable state and rule engine
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
StateWorkflowSystem.OperationCompleteEvent<D,RES extends WorkflowSystem.OperationCompleted<D>,OP extends WorkflowSystem.Operation<D,RES>>
operation completed eventstatic interface
StateWorkflowSystem.OperationEvent<D>
operation event with identitystatic interface
StateWorkflowSystem.StateChange<D>
state change for given identitystatic interface
StateWorkflowSystem.StateChangeEvent<D>
state change event for given identitystatic interface
StateWorkflowSystem.StateEvent<D>
state change for workflow-
Nested classes/interfaces inherited from interface com.dtolabs.rundeck.core.rules.WorkflowSystem
WorkflowSystem.Operation<X,T extends WorkflowSystem.OperationCompleted>, WorkflowSystem.OperationCompleted<T>, WorkflowSystem.OperationResult<D,T extends WorkflowSystem.OperationCompleted<D>,X extends WorkflowSystem.Operation<D,T>>, WorkflowSystem.SharedData<T,Y>
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.List<WorkflowSystemEventListener>
getListeners()
listenerRuleEngine
getRuleEngine()
Rule engineMutableStateObj
getState()
state objectboolean
isWorkflowEndState()
static <D,RES extends WorkflowSystem.OperationCompleted<D>,OP extends WorkflowSystem.Operation<D,RES>>
StateWorkflowSystem.OperationCompleteEvent<D,RES,OP>operationCompleteEvent(java.lang.String identity, MutableStateObj state, WorkflowSystem.SharedData<D,java.util.Map<java.lang.String,java.lang.String>> sharedData, WorkflowSystem.OperationResult<D,RES,OP> result)
Create OperationCompleteEventstatic <D> StateWorkflowSystem.OperationEvent<D>
operationEvent(java.lang.String identity, MutableStateObj state, WorkflowSystem.SharedData<D,java.util.Map<java.lang.String,java.lang.String>> sharedData)
Create OperationEvent<D> boolean
processStateChange(java.lang.String identity, StateObj state, D newData, WorkflowSystem.SharedData<D,java.util.Map<java.lang.String,java.lang.String>> sharedData)
Handle the state changes for the rule enginevoid
setListeners(java.util.List<WorkflowSystemEventListener> listeners)
set listenerstatic <D> StateWorkflowSystem.StateChange<D>
stateChange(java.lang.String identity, StateObj state, D newData, WorkflowSystem.SharedData<D,java.util.Map<java.lang.String,java.lang.String>> sharedData)
Create State Changestatic <D> StateWorkflowSystem.StateChangeEvent<D>
stateChangeEvent(java.lang.String identity, MutableStateObj state, StateWorkflowSystem.StateChange<D> stateChange)
Create StateChangeEventstatic <D> StateWorkflowSystem.StateEvent<D>
stateEvent(MutableStateObj state, WorkflowSystem.SharedData<D,java.util.Map<java.lang.String,java.lang.String>> sharedData)
Create StateEvent-
Methods inherited from interface com.dtolabs.rundeck.core.rules.WorkflowSystem
isInterrupted, processOperations
-
-
-
-
Method Detail
-
getState
MutableStateObj getState()
state object
-
getRuleEngine
RuleEngine getRuleEngine()
Rule engine
-
stateChange
static <D> StateWorkflowSystem.StateChange<D> stateChange(java.lang.String identity, StateObj state, D newData, WorkflowSystem.SharedData<D,java.util.Map<java.lang.String,java.lang.String>> sharedData)
Create State Change- Type Parameters:
D
-- Parameters:
identity
-state
-sharedData
-
-
stateEvent
static <D> StateWorkflowSystem.StateEvent<D> stateEvent(MutableStateObj state, WorkflowSystem.SharedData<D,java.util.Map<java.lang.String,java.lang.String>> sharedData)
Create StateEvent- Type Parameters:
D
-- Parameters:
state
-sharedData
-
-
stateChangeEvent
static <D> StateWorkflowSystem.StateChangeEvent<D> stateChangeEvent(java.lang.String identity, MutableStateObj state, StateWorkflowSystem.StateChange<D> stateChange)
Create StateChangeEvent- Type Parameters:
D
-- Parameters:
identity
-state
-stateChange
-
-
operationEvent
static <D> StateWorkflowSystem.OperationEvent<D> operationEvent(java.lang.String identity, MutableStateObj state, WorkflowSystem.SharedData<D,java.util.Map<java.lang.String,java.lang.String>> sharedData)
Create OperationEvent- Type Parameters:
D
-- Parameters:
identity
-state
-sharedData
-
-
operationCompleteEvent
static <D,RES extends WorkflowSystem.OperationCompleted<D>,OP extends WorkflowSystem.Operation<D,RES>> StateWorkflowSystem.OperationCompleteEvent<D,RES,OP> operationCompleteEvent(java.lang.String identity, MutableStateObj state, WorkflowSystem.SharedData<D,java.util.Map<java.lang.String,java.lang.String>> sharedData, WorkflowSystem.OperationResult<D,RES,OP> result)
Create OperationCompleteEvent- Type Parameters:
D
-RES
-OP
-- Parameters:
identity
-state
-sharedData
-result
-- Returns:
-
processStateChange
<D> boolean processStateChange(java.lang.String identity, StateObj state, D newData, WorkflowSystem.SharedData<D,java.util.Map<java.lang.String,java.lang.String>> sharedData)
Handle the state changes for the rule engine- Parameters:
identity
- step identitystate
- state change mapnewData
- new data provided by operationsharedData
- shared data- Returns:
- true if internal state was changed
-
isWorkflowEndState
boolean isWorkflowEndState()
- Returns:
- true if the state indicates the workflow should end
-
getListeners
java.util.List<WorkflowSystemEventListener> getListeners()
listener
-
setListeners
void setListeners(java.util.List<WorkflowSystemEventListener> listeners)
set listener- Parameters:
listeners
-
-
-