From 5c24cff09f2a51e587e4a29b914bce67404607d5 Mon Sep 17 00:00:00 2001 From: Giovanni Lovato Date: Fri, 27 Jan 2017 11:35:17 +0100 Subject: Add a default getOptionalValue() to HasValue (#8324) Fixes #8323 --- server/src/main/java/com/vaadin/data/HasValue.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'server/src/main/java/com/vaadin/data') diff --git a/server/src/main/java/com/vaadin/data/HasValue.java b/server/src/main/java/com/vaadin/data/HasValue.java index 962a3e9620..de2f86550f 100644 --- a/server/src/main/java/com/vaadin/data/HasValue.java +++ b/server/src/main/java/com/vaadin/data/HasValue.java @@ -19,6 +19,7 @@ import java.io.Serializable; import java.lang.reflect.Method; import java.util.EventObject; import java.util.Objects; +import java.util.Optional; import com.vaadin.event.SerializableEventListener; import com.vaadin.server.Setter; @@ -219,6 +220,18 @@ public interface HasValue extends Serializable { return null; } + /** + * Returns the current value of this object, wrapped in an {@code Optional}. + *

+ * The {@code Optional} will be empty if the value is {@code null} or + * {@code isEmpty()} returns {@code true}. + * + * @return the current value, wrapped in an {@code Optional} + */ + public default Optional getOptionalValue() { + return isEmpty() ? Optional.empty() : Optional.ofNullable(getValue()); + } + /** * Returns whether this {@code HasValue} is considered to be empty. *

-- cgit v1.2.3