org.springframework.core

## Class LocalVariableTableParameterNameDiscoverer

- java.lang.Object
- - org.springframework.core.LocalVariableTableParameterNameDiscoverer

- All Implemented Interfaces:
    ParameterNameDiscoverer

      public class LocalVariableTableParameterNameDiscoverer
      extends Object
      implements ParameterNameDiscoverer

  Implementation of `ParameterNameDiscoverer` that uses the LocalVariableTable information in the method attributes to discover parameter names. Returns `null` if the class file was compiled without debug information.

  Uses ObjectWeb's ASM library for analyzing class files. Each discoverer instance caches the ASM discovered information for each introspected Class, in a thread-safe manner. It is recommended to reuse ParameterNameDiscoverer instances as far as possible.

  Since:
    2.0
  Author:
    Adrian Colyer, Costin Leau, Juergen Hoeller, Chris Beams

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LocalVariableTableParameterNameDiscoverer()`

  - ### Method Summary

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

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### LocalVariableTableParameterNameDiscoverer

          public LocalVariableTableParameterNameDiscoverer()

  - ### Method Detail

    - #### getParameterNames

          public String[] getParameterNames(Method method)

      Description copied from interface: `ParameterNameDiscoverer`
      Return parameter names for this method, or `null` if they cannot be determined.
      Specified by:
        `getParameterNames` in interface `ParameterNameDiscoverer`
      Parameters:
        `method` - method to find parameter names for
      Returns:
        an array of parameter names if the names can be resolved, or `null` if they cannot

    - #### getParameterNames

          public String[] getParameterNames(Constructor<?> ctor)

      Description copied from interface: `ParameterNameDiscoverer`
      Return parameter names for this constructor, or `null` if they cannot be determined.
      Specified by:
        `getParameterNames` in interface `ParameterNameDiscoverer`
      Parameters:
        `ctor` - constructor to find parameter names for
      Returns:
        an array of parameter names if the names can be resolved, or `null` if they cannot