package au.id.zancanaro.javacheck.statem; import au.id.zancanaro.javacheck.Generator; public abstract class Command { public Generator argsGenerator(State state) { return Generator.pure(null); } public boolean preCondition(State state, Args args) { return true; } public abstract Result runCommand(Args args); public State nextState(State state, Args args, CommandValue result) { return state; } public boolean postCondition(State oldState, State newState, Args args, Result result) { return true; } }