org.springframework.core

## Interface ParameterNameDiscoverer

- All Known Implementing Classes:
    AspectJAdviceParameterNameDiscoverer, DefaultParameterNameDiscoverer, KotlinReflectionParameterNameDiscoverer, LocalVariableTableParameterNameDiscoverer, PrioritizedParameterNameDiscoverer, StandardReflectionParameterNameDiscoverer

      public interface ParameterNameDiscoverer

  Interface to discover parameter names for methods and constructors.

  Parameter name discovery is not always possible, but various strategies are available to try, such as looking for debug information that may have been emitted at compile time, and looking for argname annotation values optionally accompanying AspectJ annotated methods.

  Since:
    2.0
  Author:
    Rod Johnson, Adrian Colyer

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and 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 Detail

    - #### 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