Package org.springframework.core

# Interface ParameterNameDiscoverer

All Known Implementing Classes:
  `DefaultParameterNameDiscoverer`, `KotlinReflectionParameterNameDiscoverer`, `PrioritizedParameterNameDiscoverer`, `StandardReflectionParameterNameDiscoverer`

public interface ParameterNameDiscoverer
Interface to discover parameter names for methods and constructors.

Parameter name discovery is not always possible, but various strategies exist — for example, using the JDK's reflection facilities for introspecting parameter names (based on the "-parameters" compiler flag), looking for `argNames` annotation attributes optionally configured for AspectJ annotated methods, etc.

Since:
  2.0
Author:
  Rod Johnson, Adrian Colyer

## Method Summary

Modifier and Type
Method
Description
`String[]`
`getParameterNames(Constructor<?> ctor)`
Return parameter names for a constructor, or `null` if they cannot be determined.
`String[]`
`getParameterNames(Method method)`
Return parameter names for a method, or `null` if they cannot be determined.

## Method Details

### getParameterNames

@Nullable String[] getParameterNames(Method method)
Return parameter names for a method, or `null` if they cannot be determined.

Individual entries in the array may be `null` if parameter names are only available for some parameters of the given method but not for others. However, it is recommended to use stub parameter names instead wherever feasible.

Parameters:
  `method` - the method to find parameter names for
Returns:
  an array of parameter names if the names can be resolved, or `null` if they cannot

### getParameterNames

@Nullable String[] getParameterNames(Constructor<?> ctor)
Return parameter names for a constructor, or `null` if they cannot be determined.

Individual entries in the array may be `null` if parameter names are only available for some parameters of the given constructor but not for others. However, it is recommended to use stub parameter names instead wherever feasible.

Parameters:
  `ctor` - the constructor to find parameter names for
Returns:
  an array of parameter names if the names can be resolved, or `null` if they cannot