From aa27cdadd00481d1c08dc4fb73e3aaf14d95c07b Mon Sep 17 00:00:00 2001 From: Jiayu Liu Date: Mon, 21 Feb 2022 17:08:00 +0800 Subject: add support for converting to java optional --- lib/java/src/org/apache/thrift/Option.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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 { return other; } } + + /** + * Turn this Option into Java 8 Optional type + * @return Java 8+ Optional Type + */ + public Optional toOptional() { + if (isDefined()) { + return Optional.of(get()); + } else { + return Optional.empty(); + } + } + /** * The None type, representing an absent value (instead of "null") */ -- cgit v1.2.1