diff options
author | jonmv <venstad@gmail.com> | 2023-05-24 13:59:41 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2023-05-26 10:38:45 +0200 |
commit | c0acd5dd6e3c560c6bd8ca0f2350e7021ec0f103 (patch) | |
tree | 59db73dca683d6b3109f2c1da5bb023abb1ec440 /vespajlib | |
parent | 5f0b4c0461d74738e4969e97563d4a7c962f2174 (diff) |
SlimeUtils.isPresent
Diffstat (limited to 'vespajlib')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/slime/SlimeUtils.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/slime/SlimeUtils.java b/vespajlib/src/main/java/com/yahoo/slime/SlimeUtils.java index 6acd0679da2..b08346f7cec 100644 --- a/vespajlib/src/main/java/com/yahoo/slime/SlimeUtils.java +++ b/vespajlib/src/main/java/com/yahoo/slime/SlimeUtils.java @@ -126,20 +126,24 @@ public class SlimeUtils { return Duration.ofMillis(field.asLong()); } + public static boolean isPresent(Inspector field) { + return field.valid() && field.type() != Type.NIX; + } + public static Optional<String> optionalString(Inspector inspector) { - return Optional.of(inspector.asString()).filter(s -> !s.isEmpty()); + return Optional.of(inspector).filter(SlimeUtils::isPresent).map(Inspector::asString); } public static OptionalLong optionalLong(Inspector field) { - return field.valid() ? OptionalLong.of(field.asLong()) : OptionalLong.empty(); + return isPresent(field) ? OptionalLong.of(field.asLong()) : OptionalLong.empty(); } public static OptionalInt optionalInteger(Inspector field) { - return field.valid() ? OptionalInt.of((int) field.asLong()) : OptionalInt.empty(); + return isPresent(field) ? OptionalInt.of((int) field.asLong()) : OptionalInt.empty(); } public static OptionalDouble optionalDouble(Inspector field) { - return field.valid() ? OptionalDouble.of(field.asDouble()) : OptionalDouble.empty(); + return isPresent(field) ? OptionalDouble.of(field.asDouble()) : OptionalDouble.empty(); } public static Optional<Instant> optionalInstant(Inspector field) { |