package org.squirrelframework.foundation.fsm; import java.util.List; public interface MutableState<T extends StateMachine<T, S, E, C>, S, E, C> extends ImmutableState<T, S, E, C> { MutableTransition<T, S, E, C> addTransitionOn(E event); void addEntryAction(Action<T, S, E, C> newAction); void addEntryActions(List<? extends Action<T, S, E, C>> newActions); void addExitAction(Action<T, S, E, C> newAction); void addExitActions(List<? extends Action<T, S, E, C>> newActions); void setParentState(MutableState<T, S, E, C> parent); void addChildState(MutableState<T, S, E, C> childState); void setInitialState(MutableState<T, S, E, C> childInitialState); void setLevel(int level); void setHistoryType(HistoryType historyType); void setFinal(boolean isFinal); void setCompositeType(StateCompositeType compositeType); void prioritizeTransitions(); }