diff options
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/sql/SqlOption.java')
-rw-r--r-- | src/main/java/io/trygvis/esper/testing/sql/SqlOption.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/sql/SqlOption.java b/src/main/java/io/trygvis/esper/testing/sql/SqlOption.java index 058435e..288735a 100644 --- a/src/main/java/io/trygvis/esper/testing/sql/SqlOption.java +++ b/src/main/java/io/trygvis/esper/testing/sql/SqlOption.java @@ -43,6 +43,16 @@ public abstract class SqlOption<A> { return !isSome(); } + public abstract A getOrElse(A a); + + public static <A> SqlOption<A> fromNull(A a) { + if (a != null) { + return some(a); + } else { + return none(); + } + } + // ----------------------------------------------------------------------- // // ----------------------------------------------------------------------- @@ -59,6 +69,14 @@ public abstract class SqlOption<A> { public boolean isSome() { return false; } + + public A getOrElse(A a) { + return a; + } + + public String toString() { + return "None"; + } } private static class Some<A> extends SqlOption<A> { @@ -79,5 +97,13 @@ public abstract class SqlOption<A> { public boolean isSome() { return true; } + + public A getOrElse(A a) { + return this.a; + } + + public String toString() { + return "Some(" + a + ")"; + } } } |