getMethodIfAvailable static method
Retrieves the method with the specified name and parameter types from the given class.
-
Parameters clazz: the class to analyze for method methodName: the name of the method to retrieve paramTypes: the parameter types of the method to retrieve
-
Returns The method with the specified name and parameter types from the given class.
-
Throws PodDefinitionValidationException if the specified method is not found in the given class.
-
Example
final method = ClassUtils.getMethodIfAvailable(Class.of<UserService>(), 'configure', [Class.of<String>()]);
Implementation
static Method? getMethodIfAvailable(Class clazz, String methodName, [List<Class>? paramTypes]) {
if (paramTypes != null) {
return getMethodOrNull(clazz, methodName, paramTypes);
} else {
Set<Method> candidates = findMethodCandidatesByName(clazz, methodName);
if (candidates.length == 1) {
return candidates.iterator.moveNext() ? candidates.iterator.current : candidates.single;
}
return null;
}
}