Class UnaryMethodHandlerSupplier.UnaryNoRequest<ReqT,RespT>
java.lang.Object
io.helidon.microprofile.grpc.core.UnaryMethodHandlerSupplier.AbstractUnaryHandler<ReqT,RespT>
io.helidon.microprofile.grpc.core.UnaryMethodHandlerSupplier.UnaryNoRequest<ReqT,RespT>
- Type Parameters:
ReqT- the request typeRespT- the response type
- All Implemented Interfaces:
io.grpc.stub.ServerCalls.BidiStreamingMethod<ReqT,,RespT> io.grpc.stub.ServerCalls.ClientStreamingMethod<ReqT,,RespT> io.grpc.stub.ServerCalls.ServerStreamingMethod<ReqT,,RespT> io.grpc.stub.ServerCalls.UnaryMethod<ReqT,,RespT> MethodHandler<ReqT,RespT>
- Enclosing class:
UnaryMethodHandlerSupplier
public static class UnaryMethodHandlerSupplier.UnaryNoRequest<ReqT,RespT>
extends UnaryMethodHandlerSupplier.AbstractUnaryHandler<ReqT,RespT>
A unary
MethodHandler that calls a unary method handler method
of the form.
void invoke(StreamObserver<RespT> observer)
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.helidon.grpc.core.MethodHandler
MethodHandler.BidirectionalClient, MethodHandler.ClientStreaming, MethodHandler.ServerStreamingClient, MethodHandler.UnaryClient -
Method Summary
Modifier and TypeMethodDescriptionprotected Class<?> getGenericResponseType(Type type) Obtain the generic type of aTypeClass<?> Obtain the request type.Class<?> Obtain the response type.protected VoidhandleFuture(RespT response, Throwable thrown, io.grpc.stub.StreamObserver<RespT> observer) Complete aStreamObserver.io.grpc.stub.StreamObserver<ReqT> protected voidInvoke the actual unary or server streaming gRPC method handler.voidObtain the name of the underlying Java method that this handler maps to.protected StringObtain the gRPC method name.protected voidsetRequestType(Class<?> requestType) Set the request type to use if noGrpc.RequestTypeannotation is present on the annotated method.protected voidsetResponseType(Class<?> responseType) Set the response type to use if noGrpc.ResponseTypeannotation is present on the annotated method.final io.grpc.MethodDescriptor.MethodTypetype()Obtain thegRPC method tyoethat thisMethodHandlerhandles.unary(Object[] args, MethodHandler.UnaryClient client) Invoke the client call.Methods inherited from class io.helidon.microprofile.grpc.core.UnaryMethodHandlerSupplier.AbstractUnaryHandler
invokeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.helidon.grpc.core.MethodHandler
bidirectional, clientOnly, clientStreaming, serverStreaming
-
Method Details
-
invoke
protected void invoke(Method method, Object instance, ReqT request, io.grpc.stub.StreamObserver<RespT> observer) throws InvocationTargetException, IllegalAccessException Invoke the actual unary or server streaming gRPC method handler.- Parameters:
method- theMethodto invokeinstance- the service instance to invoke the method onrequest- the method requestobserver- the method response observer- Throws:
InvocationTargetException- if an error occurs invoking the methodIllegalAccessException- if the method cannot be accessed
-
unary
Invoke the client call.The call is from a method signature:
void invoke(StreamObserver<RespT> observer)so there is no request parameter and theStreamObserverto receive the response is inargs[0.- Parameters:
args- the call arguments.client- theMethodHandler.UnaryClientinstance to forward the call to- Returns:
- the method signature return is
voidso this method always returns null
-
type
public final io.grpc.MethodDescriptor.MethodType type()Description copied from interface:MethodHandlerObtain thegRPC method tyoethat thisMethodHandlerhandles.- Specified by:
typein interfaceMethodHandler<ReqT,RespT> - Returns:
- the
gRPC method typethat thisMethodHandlerhandles
-
invoke
- Specified by:
invokein interfaceMethodHandler<ReqT,RespT> - Specified by:
invokein interfaceio.grpc.stub.ServerCalls.ServerStreamingMethod<ReqT,RespT> - Specified by:
invokein interfaceio.grpc.stub.ServerCalls.UnaryMethod<ReqT,RespT>
-
invoke
- Specified by:
invokein interfaceMethodHandler<ReqT,RespT> - Specified by:
invokein interfaceio.grpc.stub.ServerCalls.BidiStreamingMethod<ReqT,RespT> - Specified by:
invokein interfaceio.grpc.stub.ServerCalls.ClientStreamingMethod<ReqT,RespT>
-
getRequestType
Description copied from interface:MethodHandlerObtain the request type.- Specified by:
getRequestTypein interfaceMethodHandler<ReqT,RespT> - Returns:
- the request type
-
setRequestType
Set the request type to use if noGrpc.RequestTypeannotation is present on the annotated method.- Parameters:
requestType- the request type
-
getResponseType
Description copied from interface:MethodHandlerObtain the response type.- Specified by:
getResponseTypein interfaceMethodHandler<ReqT,RespT> - Returns:
- the response type
-
javaMethodName
Description copied from interface:MethodHandlerObtain the name of the underlying Java method that this handler maps to.- Specified by:
javaMethodNamein interfaceMethodHandler<ReqT,RespT> - Returns:
- the name of the underlying Java method that this handler maps to
-
setResponseType
Set the response type to use if noGrpc.ResponseTypeannotation is present on the annotated method.- Parameters:
responseType- the response type
-
methodName
Obtain the gRPC method name.- Returns:
- the gRPC method name
-
handleFuture
protected Void handleFuture(RespT response, Throwable thrown, io.grpc.stub.StreamObserver<RespT> observer) Complete aStreamObserver.- Parameters:
response- the response valuethrown- an error that may have occurredobserver- theStreamObserverto complete- Returns:
- always returns
Void(i.e.null)
-
getGenericResponseType
Obtain the generic type of aTypeTypically used to obtain the generic type of a
StreamObserverbut could be used to obtain the generic type of other classes.If the type passed in is a
Classthen it has no generic component so the Object Class will be returned. Typically this would be due to a declaration such asStreamObserver observer
instead of a generic declaration such asStreamObserver<String> observer
.- Parameters:
type- the type to obtain the generic type from- Returns:
- the generic type of a
Type
-