package org.squirrelframework.foundation.fsm; import org.squirrelframework.foundation.component.SquirrelComponent; import java.util.List; /** * Action collection which insert new action in predefined order. * * @author Henry.He * * @param <T> type of State Machine * @param <S> type of State * @param <E> type of Event * @param <C> type of Context */ public interface Actions<T extends StateMachine<T, S, E, C>, S, E, C> extends SquirrelComponent { /** * Add a new action * @param newAction new action */ void add(Action<T, S, E, C> newAction); /** * Add a list of new actions * @param newActions new actions */ void addAll(List<? extends Action<T, S, E, C>> newActions); /** * @return all sorted actions */ List<Action<T, S, E, C>> getAll(); /** * Remove all actions */ void clear(); }