Skip to content

Commit 66c0509

Browse files
authored
feat: add FunctionalInterface annotation (#1515)
* feat: add `FunctionalInterface` annotation * exclude internal api * revise according to code review * remove annotation on beta api * remove annotation * remove annotation
1 parent e38c8ec commit 66c0509

File tree

6 files changed

+8
-14
lines changed

6 files changed

+8
-14
lines changed

api-common-java/src/main/java/com/google/api/core/ApiAsyncFunction.java

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
*
3535
* <p>It is similar to Guava's {@code AsyncFunction}, redeclared so that Guava can be shaded.
3636
*/
37+
@FunctionalInterface
3738
public interface ApiAsyncFunction<I, O> {
3839
/**
3940
* Returns an output Future to use in place of the given input. The output Future need not be

api-common-java/src/main/java/com/google/api/core/ApiFunction.java

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
*
3535
* <p>It is similar to Guava's {@code Function}, redeclared so that Guava can be shaded.
3636
*/
37+
@FunctionalInterface
3738
public interface ApiFunction<F, T> {
3839
T apply(F input);
3940
}

api-common-java/src/main/java/com/google/api/pathtemplate/ValidationException.java

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
*/
4040
public class ValidationException extends IllegalArgumentException {
4141

42+
@FunctionalInterface
4243
public interface Supplier<T> {
4344
T get();
4445
}

gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/FieldsExtractor.java

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
* A functional interface to be implemented for each request message to extract specific fields from
3434
* it. For advanced usage only.
3535
*/
36+
@FunctionalInterface
3637
public interface FieldsExtractor<RequestT, ParamsT> {
3738
ParamsT extract(RequestT request);
3839
}

gax-java/gax/src/main/java/com/google/api/gax/rpc/BidiStreamingCallable.java

+3-14
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,7 @@ public void call(final BidiStreamObserver<RequestT, ResponseT> bidiObserver) {
100100
/** Listens to server responses and send requests when the network is free. */
101101
public void call(
102102
final BidiStreamObserver<RequestT, ResponseT> bidiObserver, ApiCallContext context) {
103-
internalCall(
104-
bidiObserver,
105-
new ClientStreamReadyObserver<RequestT>() {
106-
@Override
107-
public void onReady(ClientStream<RequestT> stream) {
108-
bidiObserver.onReady(stream);
109-
}
110-
},
111-
context);
103+
internalCall(bidiObserver, bidiObserver, context);
112104
}
113105

114106
/**
@@ -183,11 +175,8 @@ public ClientStream<RequestT> splitCall(
183175
ResponseObserver<ResponseT> responseObserver, ApiCallContext context) {
184176
return internalCall(
185177
responseObserver,
186-
new ClientStreamReadyObserver<RequestT>() {
187-
@Override
188-
public void onReady(ClientStream<RequestT> stream) {
189-
// no op
190-
}
178+
stream -> {
179+
// no op
191180
},
192181
context);
193182
}

gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientStreamReadyObserver.java

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
package com.google.api.gax.rpc;
3131

3232
/** A callback used to report that the {@link ClientStream} is ready to send more messages. */
33+
@FunctionalInterface
3334
public interface ClientStreamReadyObserver<V> {
3435
void onReady(ClientStream<V> stream);
3536
}

0 commit comments

Comments
 (0)