Skip to content

Commit 86fa759

Browse files
committed
Needs some compatability code for missing features in Android.
1 parent 82db35b commit 86fa759

File tree

6 files changed

+56
-10
lines changed

6 files changed

+56
-10
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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+
}

src/test/java/zmq/io/mechanism/MechanismTester.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,10 @@
33
import java.io.IOException;
44
import java.io.OutputStream;
55
import java.net.Socket;
6-
import java.util.Optional;
76
import java.util.concurrent.CompletableFuture;
87
import java.util.concurrent.ExecutionException;
98
import java.util.concurrent.TimeUnit;
109
import java.util.concurrent.TimeoutException;
11-
import java.util.function.BiFunction;
12-
import java.util.function.Consumer;
13-
import java.util.function.Function;
1410

1511
import zmq.Ctx;
1612
import zmq.Helper;
@@ -19,6 +15,10 @@
1915
import zmq.SocketBase;
2016
import zmq.ZMQ;
2117
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;
2222

2323
import static org.hamcrest.CoreMatchers.is;
2424
import static org.hamcrest.CoreMatchers.notNullValue;

src/test/java/zmq/io/mechanism/SecurityCurveTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package zmq.io.mechanism;
22

33
import java.util.concurrent.CompletableFuture;
4-
import java.util.function.BiFunction;
5-
import java.util.function.Function;
64

75
import org.junit.Test;
86

97
import zmq.SocketBase;
108
import zmq.ZMQ;
119
import zmq.io.mechanism.curve.Curve;
10+
import zmq.util.function.BiFunction;
11+
import zmq.util.function.Function;
1212

1313
import static org.hamcrest.CoreMatchers.is;
1414
import static org.hamcrest.CoreMatchers.nullValue;

src/test/java/zmq/io/mechanism/SecurityNullTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package zmq.io.mechanism;
22

33
import java.util.concurrent.CompletableFuture;
4-
import java.util.function.BiFunction;
5-
import java.util.function.Function;
64

75
import org.junit.Test;
86

97
import zmq.SocketBase;
108
import zmq.ZMQ;
9+
import zmq.util.function.BiFunction;
10+
import zmq.util.function.Function;
1111

1212
import static org.hamcrest.CoreMatchers.is;
1313
import static org.hamcrest.CoreMatchers.nullValue;

src/test/java/zmq/io/mechanism/SecurityPlainTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package zmq.io.mechanism;
22

33
import java.util.concurrent.CompletableFuture;
4-
import java.util.function.BiFunction;
5-
import java.util.function.Function;
64

75
import org.junit.Test;
86

97
import zmq.SocketBase;
108
import zmq.ZMQ;
9+
import zmq.util.function.BiFunction;
10+
import zmq.util.function.Function;
1111

1212
import static org.hamcrest.CoreMatchers.is;
1313
import static org.hamcrest.CoreMatchers.nullValue;

0 commit comments

Comments
 (0)