Add helper methods for Optionals.
[Sone.git] / src / main / java / net / pterodactylus / sone / utils / Optionals.java
diff --git a/src/main/java/net/pterodactylus/sone/utils/Optionals.java b/src/main/java/net/pterodactylus/sone/utils/Optionals.java
new file mode 100644 (file)
index 0000000..67132aa
--- /dev/null
@@ -0,0 +1,32 @@
+package net.pterodactylus.sone.utils;
+
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import com.google.common.base.Predicate;
+
+/**
+ * Helper methods for dealing with {@link Optional}s.
+ *
+ * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
+ */
+public class Optionals {
+
+       public static Predicate<Optional<?>> isPresent() {
+               return new Predicate<Optional<?>>() {
+                       @Override
+                       public boolean apply(Optional<?> input) {
+                               return input.isPresent();
+                       }
+               };
+       }
+
+       public static <T> Function<Optional<T>, T> get() {
+               return new Function<Optional<T>, T>() {
+                       @Override
+                       public T apply(Optional<T> input) {
+                               return input.get();
+                       }
+               };
+       }
+
+}