diff options
Diffstat (limited to 'src/main/java/au/id/zancanaro/javacheck/state/CommandResult.java')
-rw-r--r-- | src/main/java/au/id/zancanaro/javacheck/state/CommandResult.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/au/id/zancanaro/javacheck/state/CommandResult.java b/src/main/java/au/id/zancanaro/javacheck/state/CommandResult.java new file mode 100644 index 0000000..12f650d --- /dev/null +++ b/src/main/java/au/id/zancanaro/javacheck/state/CommandResult.java @@ -0,0 +1,31 @@ +package au.id.zancanaro.javacheck.state; + +public class CommandResult<State> { + private final State state; + private final Throwable thrown; + + private CommandResult(State state, Throwable thrown) { + this.state = state; + this.thrown = thrown; + } + + public State getState() { + return state; + } + + public boolean isFailed() { + return thrown != null; + } + + public Throwable getThrown() { + return thrown; + } + + public static <State> CommandResult<State> success(State state) { + return new CommandResult<>(state, null); + } + + public static <State> CommandResult<State> fail(State state, Throwable ex) { + return new CommandResult<>(state, ex); + } +} |