diff --git a/src/main/java/com/github/tonivade/vavr/effect/IO.java b/src/main/java/com/github/tonivade/vavr/effect/IO.java index b528fbf..8e8e1e4 100644 --- a/src/main/java/com/github/tonivade/vavr/effect/IO.java +++ b/src/main/java/com/github/tonivade/vavr/effect/IO.java @@ -748,51 +748,29 @@ } } -final class StateIO { +record StateIO(boolean isCancelled, boolean isCancellingNow, boolean isStartingNow) { static final StateIO INITIAL = new StateIO(false, false, false); static final StateIO CANCELLED = new StateIO(true, false, false); - private final boolean cancelled; - private final boolean cancellingNow; - private final boolean startingNow; - - StateIO(boolean cancelled, boolean cancellingNow, boolean startingNow) { - this.cancelled = cancelled; - this.cancellingNow = cancellingNow; - this.startingNow = startingNow; - } - - boolean isCancelled() { - return cancelled; - } - - boolean isCancellingNow() { - return cancellingNow; - } - - boolean isStartingNow() { - return startingNow; - } - StateIO cancellingNow() { - return new StateIO(cancelled, true, startingNow); + return new StateIO(isCancelled, true, isStartingNow); } StateIO startingNow() { - return new StateIO(cancelled, cancellingNow, true); + return new StateIO(isCancelled, isCancellingNow, true); } StateIO notStartingNow() { - return new StateIO(cancelled, cancellingNow, false); + return new StateIO(isCancelled, isCancellingNow, false); } boolean isCancelable() { - return !cancelled && !cancellingNow && !startingNow; + return !isCancelled && !isCancellingNow && !isStartingNow; } boolean isRunnable() { - return !cancelled && !cancellingNow; + return !isCancelled && !isCancellingNow; } }