Merge branch 'release/0.9-rc1'
[Sone.git] / src / main / java / net / pterodactylus / sone / utils / Optionals.java
1 package net.pterodactylus.sone.utils;
2
3 import com.google.common.base.Function;
4 import com.google.common.base.Optional;
5 import com.google.common.base.Predicate;
6
7 /**
8  * Helper methods for dealing with {@link Optional}s.
9  *
10  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
11  */
12 public class Optionals {
13
14         public static Predicate<Optional<?>> isPresent() {
15                 return new Predicate<Optional<?>>() {
16                         @Override
17                         public boolean apply(Optional<?> input) {
18                                 return input.isPresent();
19                         }
20                 };
21         }
22
23         public static <T> Function<Optional<T>, T> get() {
24                 return new Function<Optional<T>, T>() {
25                         @Override
26                         public T apply(Optional<T> input) {
27                                 return input.get();
28                         }
29                 };
30         }
31
32 }