File tree Expand file tree Collapse file tree 6 files changed +56
-10
lines changed
main/java/zmq/util/function
test/java/zmq/io/mechanism Expand file tree Collapse file tree 6 files changed +56
-10
lines changed Original file line number Diff line number Diff line change
1
+ package zmq .util .function ;
2
+
3
+ /**
4
+ Represents an operation that accepts two input arguments and returns no result. This is the two-arity specialization of Consumer.
5
+ Unlike most other functional interfaces, {@link BiConsumer} is expected to operate via side-effects.
6
+
7
+ *
8
+ * <p>This is a functional interface
9
+ * whose functional method is {@link #accept(Object, Object)}.
10
+ *
11
+ * @param <T> the type of the input to the operation
12
+ *
13
+ */
14
+ public interface BiConsumer <T , U >
15
+ {
16
+ /**
17
+ * Performs this operation on the given argument.
18
+ *
19
+ * @param t the first input argument
20
+ * @param t the second input argument
21
+ */
22
+ void accept (T t , U u );
23
+ }
Original file line number Diff line number Diff line change
1
+ package zmq .util .function ;
2
+
3
+ public class Optional <T >
4
+ {
5
+ private final T value ;
6
+
7
+ private Optional (T value )
8
+ {
9
+ this .value = value ;
10
+ }
11
+
12
+ public void ifPresent (Consumer <T > consumer )
13
+ {
14
+ if (value != null ) {
15
+ consumer .accept (value );
16
+ }
17
+ }
18
+
19
+ public static <T > Optional <T > ofNullable (T value )
20
+ {
21
+ return new Optional <>(value );
22
+ }
23
+ }
Original file line number Diff line number Diff line change 3
3
import java .io .IOException ;
4
4
import java .io .OutputStream ;
5
5
import java .net .Socket ;
6
- import java .util .Optional ;
7
6
import java .util .concurrent .CompletableFuture ;
8
7
import java .util .concurrent .ExecutionException ;
9
8
import java .util .concurrent .TimeUnit ;
10
9
import java .util .concurrent .TimeoutException ;
11
- import java .util .function .BiFunction ;
12
- import java .util .function .Consumer ;
13
- import java .util .function .Function ;
14
10
15
11
import zmq .Ctx ;
16
12
import zmq .Helper ;
19
15
import zmq .SocketBase ;
20
16
import zmq .ZMQ ;
21
17
import zmq .util .TestUtils ;
18
+ import zmq .util .function .BiFunction ;
19
+ import zmq .util .function .Function ;
20
+ import zmq .util .function .Consumer ;
21
+ import zmq .util .function .Optional ;
22
22
23
23
import static org .hamcrest .CoreMatchers .is ;
24
24
import static org .hamcrest .CoreMatchers .notNullValue ;
Original file line number Diff line number Diff line change 1
1
package zmq .io .mechanism ;
2
2
3
3
import java .util .concurrent .CompletableFuture ;
4
- import java .util .function .BiFunction ;
5
- import java .util .function .Function ;
6
4
7
5
import org .junit .Test ;
8
6
9
7
import zmq .SocketBase ;
10
8
import zmq .ZMQ ;
11
9
import zmq .io .mechanism .curve .Curve ;
10
+ import zmq .util .function .BiFunction ;
11
+ import zmq .util .function .Function ;
12
12
13
13
import static org .hamcrest .CoreMatchers .is ;
14
14
import static org .hamcrest .CoreMatchers .nullValue ;
Original file line number Diff line number Diff line change 1
1
package zmq .io .mechanism ;
2
2
3
3
import java .util .concurrent .CompletableFuture ;
4
- import java .util .function .BiFunction ;
5
- import java .util .function .Function ;
6
4
7
5
import org .junit .Test ;
8
6
9
7
import zmq .SocketBase ;
10
8
import zmq .ZMQ ;
9
+ import zmq .util .function .BiFunction ;
10
+ import zmq .util .function .Function ;
11
11
12
12
import static org .hamcrest .CoreMatchers .is ;
13
13
import static org .hamcrest .CoreMatchers .nullValue ;
Original file line number Diff line number Diff line change 1
1
package zmq .io .mechanism ;
2
2
3
3
import java .util .concurrent .CompletableFuture ;
4
- import java .util .function .BiFunction ;
5
- import java .util .function .Function ;
6
4
7
5
import org .junit .Test ;
8
6
9
7
import zmq .SocketBase ;
10
8
import zmq .ZMQ ;
9
+ import zmq .util .function .BiFunction ;
10
+ import zmq .util .function .Function ;
11
11
12
12
import static org .hamcrest .CoreMatchers .is ;
13
13
import static org .hamcrest .CoreMatchers .nullValue ;
You can’t perform that action at this time.
0 commit comments