org.springframework.core
Class LocalVariableTableParameterNameDiscoverer

java.lang.Object
  extended by org.springframework.core.LocalVariableTableParameterNameDiscoverer
All Implemented Interfaces:
ParameterNameDiscoverer

public class LocalVariableTableParameterNameDiscoverer
extends java.lang.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 ClassReader for each introspected Class, in a thread-safe manner. It is recommended to reuse discoverer instances as far as possible.

Since:
2.0
Author:
Adrian Colyer, Juergen Hoeller

Constructor Summary
LocalVariableTableParameterNameDiscoverer()
           
 
Method Summary
 java.lang.String[] getParameterNames(java.lang.reflect.Constructor ctor)
          Return parameter names for this constructor, or null if they cannot be determined.
 java.lang.String[] getParameterNames(java.lang.reflect.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 java.lang.String[] getParameterNames(java.lang.reflect.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 java.lang.String[] getParameterNames(java.lang.reflect.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