Class FsmBuilder<S extends java.lang.Enum<S>,​E>


  • public class FsmBuilder<S extends java.lang.Enum<S>,​E>
    extends java.lang.Object
    • Constructor Detail

      • FsmBuilder

        public FsmBuilder()
      • FsmBuilder

        public FsmBuilder​(java.util.concurrent.Executor executor,
                          java.lang.String loggerName)
      • FsmBuilder

        public FsmBuilder​(java.util.concurrent.Executor executor,
                          java.lang.String loggerName,
                          java.util.Map<java.lang.String,​java.lang.String> mdc)
    • Method Detail

      • onInternalTransition

        public ViaBuilder<S,​E> onInternalTransition​(S state)
        Start defining an Action that will be executed after an internal transition from/to state.

        The criteria for the event that causes this transition is defined on the returned ViaBuilder.

        Parameters:
        state - the state experiencing an internal transition.
        Returns:
        a ViaBuilder.
      • onTransitionTo

        public ActionToBuilder<S,​E> onTransitionTo​(S state)
        Start defining an Action that will executed after a transition to state.

        Further criteria for execution will be defined on the returned ActionToBuilder.

        Parameters:
        state - the state being transitioned to.
        Returns:
        an ActionToBuilder.
      • onTransitionTo

        public ActionToBuilder<S,​E> onTransitionTo​(java.util.function.Predicate<S> filter)
        Start defining an Action that will execute after a transition to any state that passes filter.

        Further criteria for execution will be defined on the returned ActionToBuilder.

        Parameters:
        filter - the filter for states being transitioned to.
        Returns:
        an ActionToBuilder.
      • onTransitionFrom

        public ActionFromBuilder<S,​E> onTransitionFrom​(S state)
        Start defining an Action that will execute after a transition from state.
        Parameters:
        state - the state being transitioned from.
        Returns:
        an ActionFromBuilder.
      • onTransitionFrom

        public ActionFromBuilder<S,​E> onTransitionFrom​(java.util.function.Predicate<S> filter)
        Start defining an Action that will execute after a transition from any state that passes filter.
        Parameters:
        filter - the filter for states being transitioned from.
        Returns:
        an ActionFromBuilder.
      • addTransition

        public void addTransition​(Transition<S,​E> transition)
        Add a manually defined Transition.
        Parameters:
        transition - the Transition to add.
      • setActionProxy

        public void setActionProxy​(ActionProxy<S,​E> actionProxy)
        Configure an ActionProxy for the Fsm instance being built.
        Parameters:
        actionProxy - an ActionProxy for the Fsm instance being built.
      • build

        public Fsm<S,​E> build​(S initialState)