com.alibaba.cola.statemachine.builder.StateMachineBuilder Maven / Gradle / Ivy
package com.alibaba.cola.statemachine.builder;
import com.alibaba.cola.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);
}