optional orelse optional ex

This commit is contained in:
Loredana Crusoveanu
2018-05-27 15:42:59 +03:00
parent 146c1bb2a9
commit ca9f1bbc42
3 changed files with 83 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
package com.baeldung.optionals;
import java.util.Optional;
public class Optionals {
public static <T> Optional<T> or(Optional<T> optional, Optional<T> fallback) {
return optional.isPresent() ? optional : fallback;
}
public static Optional<String> getName(Optional<String> name) {
return name.or(() -> getCustomMessage());
}
public static com.google.common.base.Optional<String> getOptionalGuavaName(com.google.common.base.Optional<String> name) {
return name.or(getCustomMessageGuava());
}
private static Optional<String> getCustomMessage() {
return Optional.of("Name not provided");
}
private static com.google.common.base.Optional<String> getCustomMessageGuava() {
return com.google.common.base.Optional.of("Name not provided");
}
}