diff --git a/src/main/java/org/springframework/data/util/TypeDiscoverer.java b/src/main/java/org/springframework/data/util/TypeDiscoverer.java index 060535ee0..ed76d1f9a 100644 --- a/src/main/java/org/springframework/data/util/TypeDiscoverer.java +++ b/src/main/java/org/springframework/data/util/TypeDiscoverer.java @@ -17,7 +17,6 @@ package org.springframework.data.util; import java.beans.PropertyDescriptor; import java.lang.reflect.Constructor; -import java.lang.reflect.Executable; import java.lang.reflect.Field; import java.lang.reflect.GenericArrayType; import java.lang.reflect.Method; @@ -158,7 +157,15 @@ class TypeDiscoverer implements TypeInformation { public List> getParameterTypes(Constructor constructor) { Assert.notNull(constructor, "Constructor must not be null!"); - return getParameterTypes((Executable) constructor); + + Type[] types = constructor.getGenericParameterTypes(); + List> result = new ArrayList>(types.length); + + for (Type parameterType : types) { + result.add(createInfo(parameterType)); + } + + return result; } /* @@ -408,7 +415,15 @@ class TypeDiscoverer implements TypeInformation { public List> getParameterTypes(Method method) { Assert.notNull(method, "Method most not be null!"); - return getParameterTypes((Executable) method); + + Type[] types = method.getGenericParameterTypes(); + List> result = new ArrayList>(types.length); + + for (Type parameterType : types) { + result.add(createInfo(parameterType)); + } + + return result; } /* @@ -479,18 +494,6 @@ class TypeDiscoverer implements TypeInformation { return createInfo(arguments[index]); } - private List> getParameterTypes(Executable executable) { - - Type[] types = executable.getGenericParameterTypes(); - List> result = new ArrayList>(types.length); - - for (Type parameterType : types) { - result.add(createInfo(parameterType)); - } - - return result; - } - /* * (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object)