Lines Matching defs:Optional

37  * <p>A non-null {@code Optional<T>} reference can be used as a replacement for a nullable
48 * have no value" (present in the map, with value {@code Optional.absent()})
62 * @param <T> the type of instance that can be contained. {@code Optional} is naturally
63 * covariant on this type, so it is safe to cast an {@code Optional<T>} to {@code
64 * Optional<S>} for any supertype {@code S} of {@code T}.
71 public abstract class Optional<T> implements Serializable {
73 * Returns an {@code Optional} instance with no contained reference.
76 public static <T> Optional<T> absent() {
77 return (Optional<T>) Absent.INSTANCE;
81 * Returns an {@code Optional} instance containing the given non-null reference.
83 public static <T> Optional<T> of(T reference) {
88 * If {@code nullableReference} is non-null, returns an {@code Optional} instance containing that
89 * reference; otherwise returns {@link Optional#absent}.
91 public static <T> Optional<T> fromNullable(@Nullable T nullableReference) {
93 ? Optional.<T>absent()
97 private Optional() {}
121 * Returns this {@code Optional} if it has a value present; {@code secondChoice}
124 public abstract Optional<T> or(Optional<? extends T> secondChoice);
150 * Returns {@code true} if {@code object} is an {@code Optional} instance, and either
152 * are absent. Note that {@code Optional} instances of differing parameterized types can
170 * skipping over occurrences of {@link Optional#absent}. Iterators are unmodifiable and are
175 public static <T> Iterable<T> presentInstances(final Iterable<Optional<T>> optionals) {
180 private final Iterator<Optional<T>> iterator = checkNotNull(optionals.iterator());
184 Optional<T> optional = iterator.next();
198 private static final class Present<T> extends Optional<T> {
218 @Override public Optional<T> or(Optional<? extends T> secondChoice) {
249 return "Optional.of(" + reference + ")";
255 private static final class Absent extends Optional<Object> {
271 @Override public Optional<Object> or(Optional<?> secondChoice) {
272 return (Optional) checkNotNull(secondChoice);
297 return "Optional.absent()";