diff options
author | Jiayu Liu <jiayu.liu@airbnb.com> | 2022-02-21 17:08:00 +0800 |
---|---|---|
committer | Jens Geyer <Jens-G@users.noreply.github.com> | 2022-03-09 11:39:48 +0100 |
commit | aa27cdadd00481d1c08dc4fb73e3aaf14d95c07b (patch) | |
tree | bcb8a9071f88962a9bcf04fb575b8171323933b0 /lib/java | |
parent | 7594da8d7ac8d3525aa736d8fef89e465c63533e (diff) | |
download | thrift-aa27cdadd00481d1c08dc4fb73e3aaf14d95c07b.tar.gz |
add support for converting to java optional
Diffstat (limited to 'lib/java')
-rw-r--r-- | lib/java/src/org/apache/thrift/Option.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/java/src/org/apache/thrift/Option.java b/lib/java/src/org/apache/thrift/Option.java index f02eae046..6b036df96 100644 --- a/lib/java/src/org/apache/thrift/Option.java +++ b/lib/java/src/org/apache/thrift/Option.java @@ -19,6 +19,8 @@ package org.apache.thrift; +import java.util.Optional; + /** * Implementation of the Option type pattern */ @@ -54,6 +56,19 @@ public abstract class Option<T> { return other; } } + + /** + * Turn this Option into Java 8 Optional type + * @return Java 8+ Optional Type + */ + public Optional<T> toOptional() { + if (isDefined()) { + return Optional.of(get()); + } else { + return Optional.empty(); + } + } + /** * The None type, representing an absent value (instead of "null") */ |