public interface Decider<C extends Object, S extends Object, E extends Object, ER extends Object>
Decider implementation that uses Either from the Arrow library
Either
abstract S
initialState()
abstract Either<ER, List<E>>
decide(C command, S state)
evolve(S state, E event)
Boolean
isTerminal(S state)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
abstract S initialState()
abstract Either<ER, List<E>> decide(C command, S state)
abstract S evolve(S state, E event)
Boolean isTerminal(S state)