springspring-statemachine

Spring State Machine: possible events


is it possible to get the list of possible events from a current state?

StateMachine<State, Event> stateMachine = stateMachineService.acquireStateMachine(machineId);
stateMachine.sendEvent(event);

stateMachine.getState()  // get possible events from State

Solution

  • The only solution i found is:

    stateMachine.getTransitions().stream()
                .filter(transition -> transition.getSource().getId().equals(stateMachine.getState().getId()))
                .map(transition -> transition.getTrigger().getEvent())
                .collect(Collectors.toList());