
org.squirrelframework.foundation.fsm.StateContext Maven / Gradle / Ivy
package org.squirrelframework.foundation.fsm;
/**
* Then context of state machine when processing any events
*
* @author Henry.He
*
* @param state machine type
* @param state type
* @param event type
* @param context type
*/
public interface StateContext, S, E, C> {
/**
* @return current state machine object
*/
StateMachine getStateMachine();
/**
* @return state machine data
*/
StateMachineData getStateMachineData();
/**
* @return source state of state machine
*/
ImmutableState getSourceState();
/**
* @return external context object
*/
C getContext();
/**
* @return event
*/
E getEvent();
/**
* @return transition result
*/
TransitionResult getResult();
/**
* @return action executor
*/
ActionExecutionService getExecutor();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy