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, Sam Brannen
  • Constructor Details

    • LocalVariableTableParameterNameDiscoverer

      public LocalVariableTableParameterNameDiscoverer()
  • Method Details

    • getParameterNames

      @Nullable public String[] getParameterNames(Method method)
      Description copied from interface: ParameterNameDiscoverer
      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.

      Specified by:
      getParameterNames in interface ParameterNameDiscoverer
      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 public String[] getParameterNames(Constructor<?> ctor)
      Description copied from interface: ParameterNameDiscoverer
      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.

      Specified by:
      getParameterNames in interface ParameterNameDiscoverer
      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