package me.bvn13.fsm; public class ConditionBuilder { private final FsmBuilder fsmBuilder; private String from; private String to; private Condition condition; ConditionBuilder(FsmBuilder fsmBuilder) { this.fsmBuilder = fsmBuilder; } public ConditionBuilder from(String from) { this.from = from; return this; } public ConditionBuilder to(String to) { this.to = to; return this; } public ConditionBuilder checking(Condition condition) { this.condition = condition; return this; } public FsmBuilder end() { fsmBuilder.addTransition(from, to, condition); return fsmBuilder; } }