All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cmt.statemachine.builder.StateMachineBuilder Maven / Gradle / Ivy

The newest version!
package com.cmt.statemachine.builder;

import com.cmt.statemachine.StateMachine;

/**
 * StateMachineBuilder
 *
 * @author Frank Zhang
 * @date 2020-02-07 5:32 PM
 */
public interface StateMachineBuilder {
    /**
     * Builder for one transition
     * @return External transition builder
     */
    ExternalTransitionBuilder externalTransition();

    /**
     * Builder for multiple transitions
     * @return External transition builder
     */
    ExternalTransitionsBuilder externalTransitions();

    /**
     * Start to build internal transition
     * @return Internal transition builder
     */
    InternalTransitionBuilder internalTransition();

    StateMachine build(String machineId);

    /**
     * Specify a initial state
     *
     * @param initial the initial state
     * @return StateMachineBuilder
     */
    StateMachineBuilder initialState(S initial);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy