22
22
import java .util .function .UnaryOperator ;
23
23
24
24
/**
25
- * This utility class contains useful lambdas for {@link Optional}
25
+ * This utility class contains useful lambdas for {@link java.util. Optional}.
26
26
*
27
27
* @author Grig Alex
28
- * @see Optional
29
- * @see Consumer
30
- * @see UnaryOperator
28
+ * @version 0.1.1
29
+ * @see java.util.Optional
30
+ * @see java.util.function.Consumer
31
+ * @see java.util.function.Supplier
32
+ * @see java.util.function.UnaryOperator
31
33
* @since 0.1.0
32
34
*/
33
35
public final class OptionalX {
34
36
private OptionalX () {
35
37
}
36
38
39
+ /**
40
+ * <p>Returns an {@link java.util.Optional} describing the given value
41
+ * from {@link java.util.function.Supplier}.</p>
42
+ *
43
+ * @param generator a {@link java.util.function.Supplier} of value
44
+ * the result of which is passed as the argument to {@link java.util.Optional#ofNullable(Object)}
45
+ * @param <T> a type of {@link java.util.Optional} value
46
+ * @return an {@link java.util.Optional} with the given value from {@link java.util.function.Supplier}
47
+ * @see java.util.Optional#ofNullable(Object)
48
+ * @see java.util.Optional
49
+ * @see java.util.Optional#ofNullable(Object)
50
+ * @see java.util.Optional
51
+ * @see java.util.function.Supplier
52
+ * @since 0.1.0
53
+ */
37
54
public static <T > Optional <T > of (Supplier <? extends T > generator ) {
38
55
return Optional .ofNullable (generator .get ());
39
56
}
40
57
58
+ /**
59
+ * <p>Returns an {@link java.util.function.UnaryOperator}
60
+ * that execute the action ({@link java.util.function.Consumer}) for a value and return it.</p>
61
+ *
62
+ * @param action a {@link java.util.function.Consumer} that execute an action on a value
63
+ * @param <T> a type of the operand and result of the operator
64
+ * @return an {@link java.util.function.UnaryOperator}
65
+ * @see java.util.Optional#map(java.util.function.Function)
66
+ * @see java.util.function.UnaryOperator
67
+ * @see java.util.function.Consumer
68
+ * @see java.util.stream.Stream#peek(Consumer)
69
+ * @since 0.1.0
70
+ */
41
71
public static <T > UnaryOperator <T > peek (Consumer <? super T > action ) {
42
72
return t -> {
43
73
action .accept (t );
44
74
return t ;
45
75
};
46
76
}
47
- }
77
+ }
0 commit comments