|
Groovy Documentation | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | PROPERTY | CONSTR | METHOD | DETAIL: FIELD | PROPERTY | CONSTR | METHOD |
java.lang.Objectorg.linkedin.groovy.util.state.StateMachineImpl
class StateMachineImpl
Represents the state machine (states, transitions and action to take on each) Here is an example of a state machine transitions
def static DEFAULT_TRANSITIONS = [ NONE: [[to: 'installed', action: 'install']], installed: [[to: 'stopped', action: 'configure'], [to: NONE, action: 'uninstall']], stopped: [[to: 'running', action: 'start'], [to: 'stopped', action: 'configure'], [to: NONE, action: 'uninstall']], running: [[to: 'stopped', action: 'stop']] ]
Field Summary | |
---|---|
static java.lang.String |
MODULE
|
static Logger |
log
|
Property Summary | |
---|---|
Clock |
clock
|
java.lang.Object |
lock
|
Constructor Summary | |
StateMachineImpl(java.lang.Object args)
|
Method Summary | |
---|---|
java.lang.Object
|
clearError()
|
java.lang.Object
|
executeAction(java.lang.Object action, java.lang.Object closure)
Execute the action: sets the state machine in transition state, execute the closure and then move to the final state. |
java.lang.Object
|
findEndState(java.lang.Object action)
Returns the end state that the state machine would be if the action were to be executed. |
java.lang.Object
|
findPaths(java.lang.Object toState)
{@inheritdoc} |
java.lang.Object
|
findPaths(java.lang.Object fromState, java.lang.Object toState)
{@inheritdoc} |
java.lang.Object
|
findShortestPath(java.lang.Object toState)
|
java.lang.Object
|
findShortestPath(java.lang.Object fromState, java.lang.Object toState)
|
void
|
forceChangeState(java.lang.Object currentState, java.lang.Object error)
This method is used to change the state and should be used carefully. |
java.lang.Object
|
getAvailableActions()
Returns all available actions |
java.lang.Object
|
getAvailableStates()
returns all available states |
java.lang.Object
|
getAvailableTransitions()
|
java.lang.Object
|
getCurrentState()
|
int
|
getDepth()
|
int
|
getDepth(java.lang.Object state)
|
int
|
getDistance(java.lang.Object fromState, java.lang.Object toState)
|
java.lang.Object
|
getEndState(java.lang.Object action)
Returns the end state associated to a specific action in the state machine. |
java.lang.Object
|
getError()
|
java.lang.Object
|
getState()
|
java.lang.Object
|
getTransitionAction()
|
java.lang.Object
|
getTransitionState()
|
java.lang.Object
|
getTransitions()
|
void
|
setCurrentState(java.lang.Object currentState)
This method should be used to restore the state only |
void
|
setError(java.lang.Object error)
This method should be used to restore the state only |
void
|
setStateChangeListener(StateChangeListener stateChangeListener)
|
java.lang.String
|
toString()
|
java.lang.Object
|
waitForState(java.lang.Object state, java.lang.Object timeout)
Wait for the state machine to be in the provided state. |
Methods inherited from class java.lang.Object | |
---|---|
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Field Detail |
---|
public static final java.lang.String MODULE
public static final Logger log
Property Detail |
---|
@Initializable Clock clock
java.lang.Object lock
Constructor Detail |
---|
StateMachineImpl(java.lang.Object args)
Method Detail |
---|
java.lang.Object clearError()
java.lang.Object executeAction(java.lang.Object action, java.lang.Object closure)
java.lang.Object findEndState(java.lang.Object action)
java.lang.Object findPaths(java.lang.Object toState)
java.lang.Object findPaths(java.lang.Object fromState, java.lang.Object toState)
java.lang.Object findShortestPath(java.lang.Object toState)
java.lang.Object findShortestPath(java.lang.Object fromState, java.lang.Object toState)
void forceChangeState(java.lang.Object currentState, java.lang.Object error)
currentState
- the new current state (can be null
in which case we keep
the current one)error
- the new error state
java.lang.Object getAvailableActions()
java.lang.Object getAvailableStates()
java.lang.Object getAvailableTransitions()
java.lang.Object getCurrentState()
@Override int getDepth()
@Override int getDepth(java.lang.Object state)
@Override int getDistance(java.lang.Object fromState, java.lang.Object toState)
java.lang.Object getEndState(java.lang.Object action)
null
if the given action was not found.
java.lang.Object getError()
java.lang.Object getState()
java.lang.Object getTransitionAction()
java.lang.Object getTransitionState()
java.lang.Object getTransitions()
void setCurrentState(java.lang.Object currentState)
void setError(java.lang.Object error)
void setStateChangeListener(StateChangeListener stateChangeListener)
java.lang.String toString()
java.lang.Object waitForState(java.lang.Object state, java.lang.Object timeout)
timeout
- may be null
for unlimited waitingtrue
if the state was reached during the timeout,
false
otherwise
Groovy Documentation