/** * Gets transitionable state. * * @param flow the flow * @param stateId the state id * @return the transitionable state */ public TransitionableState getTransitionableState(final Flow flow, final String stateId) { if (containsFlowState(flow, stateId)) { return (TransitionableState) flow.getTransitionableState(stateId); } return null; }
/** * Gets transitionable state. * * @param <T> the type parameter * @param flow the flow * @param stateId the state id * @param clazz the clazz * @return the transitionable state */ public <T extends TransitionableState> T getTransitionableState(final Flow flow, final String stateId, final Class<T> clazz) { if (containsFlowState(flow, stateId)) { val state = flow.getTransitionableState(stateId); return clazz.cast(state); } return null; }
public void testGetStateNoSuchTransitionableState() { try { flow.getTransitionableState("myState2"); fail("End states aren't transtionable"); } catch (ClassCastException e) { // expected } try { flow.getTransitionableState("doesNotExist"); } catch (IllegalArgumentException e) { // expected } }
public void testGetTransitionableState() { assertEquals("Wrong state:", "myState1", flow.getTransitionableState("myState1").getId()); assertEquals("Wrong state:", "myState1", flow.getState("myState1").getId()); }
val startState = flow.getTransitionableState(flow.getStartState().getId()); createTransitionForState(startState, subflowId, subflowId); });