INNER CODE UNIT · Java
parameterizedReturnType
scalecube/scalecube-services · services-api/src/main/java/io/scalecube/services/Reflect.java:49
public static Type parameterizedReturnType(Method method) {
if (method.isAnnotationPresent(ResponseType.class)) {
return method.getAnnotation(ResponseType.class).value();
}
Type type = method.getGenericReturnType();
if (type instanceof ParameterizedType pt) {
Type actualReturnType = isAsyncContainer(type) ? pt.getActualTypeArguments()[0] : pt;
if (ServiceMessage.class.equals(actualReturnType)) {
return Object.class;
}
return actualReturnType;
} else {
return Object.class;
}
}