Class JmixLocalVariableTableParameterNameDiscoverer

java.lang.Object
io.jmix.bpm.reflection.JmixLocalVariableTableParameterNameDiscoverer
All Implemented Interfaces:
org.springframework.core.ParameterNameDiscoverer

public class JmixLocalVariableTableParameterNameDiscoverer extends Object implements org.springframework.core.ParameterNameDiscoverer
JmixLocalVariableTableParameterNameDiscoverer is copy of LocalVariableTableParameterNameDiscoverer spring's discoverer because it was deprecated and will be removed. This class discovers the parameter names without -parameters compiler flag.

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.

This class is deprecated in Spring Framework in the 6.0 generation and scheduled for removal in 6.1 since it is effectively superseded by StandardReflectionParameterNameDiscoverer. For the time being, this discoverer logs a warning every time it actually inspects a class file which is particularly useful for identifying remaining gaps in usage of the standard "-parameters" compiler flag, and also unintended over-inspection of e.g. JDK core library classes (which are not compiled with the "-parameters" flag).

Since:
2.0
See Also:
  • LocalVariableTableParameterNameDiscoverer
  • StandardReflectionParameterNameDiscoverer
  • DefaultParameterNameDiscoverer
  • Constructor Details

    • JmixLocalVariableTableParameterNameDiscoverer

      public JmixLocalVariableTableParameterNameDiscoverer()
  • Method Details

    • getParameterNames

      @Nullable public String[] getParameterNames(Method method)
      Specified by:
      getParameterNames in interface org.springframework.core.ParameterNameDiscoverer
    • getParameterNames

      @Nullable public String[] getParameterNames(Constructor<?> ctor)
      Specified by:
      getParameterNames in interface org.springframework.core.ParameterNameDiscoverer