GH-473 Fix type discovery for generic parameters

Resolves #473
This commit is contained in:
Oleg Zhurakousky
2020-03-30 10:56:00 +02:00
parent 9434a68bd2
commit 86d12f3a84
4 changed files with 32 additions and 10 deletions

View File

@@ -128,9 +128,9 @@ public final class FunctionTypeUtils {
for (Type generic : generics) {
if (generic instanceof ParameterizedType) {
Class<?> rawClsss = (Class<?>) ((ParameterizedType) generic).getRawType();
if (rawClsss.isAssignableFrom(Function.class)
|| rawClsss.isAssignableFrom(Consumer.class)
|| rawClsss.isAssignableFrom(Supplier.class)) {
if (Function.class.isAssignableFrom(rawClsss)
|| Consumer.class.isAssignableFrom(rawClsss)
|| Supplier.class.isAssignableFrom(rawClsss)) {
return generic;
}
else {
@@ -145,6 +145,8 @@ public final class FunctionTypeUtils {
return null;
}
public static Type discoverFunctionTypeFromFunctionMethod(Method functionMethod) {
Assert.isTrue(
functionMethod.getName().equals("apply") ||