in core/src/main/java/org/apache/myfaces/extensions/validator/util/ReflectionUtils.java [69:116]
public static Method getMethod(Class targetClass, String targetMethodName, Class... parameterTypes)
throws NoSuchMethodException
{
Class currentClass = targetClass;
Method targetMethod = null;
while (!Object.class.getName().equals(currentClass.getName()))
{
try
{
targetMethod = currentClass.getDeclaredMethod(targetMethodName, parameterTypes);
break;
}
catch (NoSuchMethodException e)
{
currentClass = currentClass.getSuperclass();
}
}
if(targetMethod == null)
{
for (Class currentInterface : targetClass.getInterfaces())
{
currentClass = currentInterface;
while (currentClass != null)
{
try
{
targetMethod = currentClass.getDeclaredMethod(targetMethodName, parameterTypes);
break;
}
catch (NoSuchMethodException e)
{
currentClass = currentClass.getSuperclass();
}
}
}
}
if(targetMethod != null)
{
return targetMethod;
}
throw new NoSuchMethodException("there is no method with the name '" + targetMethodName + "'" +
" class: " + targetClass.getName());
}