com.thoughtworks.paranamer
Class BytecodeReadingParanamer

java.lang.Object
  extended by com.thoughtworks.paranamer.BytecodeReadingParanamer
All Implemented Interfaces:
Paranamer

public class BytecodeReadingParanamer
extends Object
implements Paranamer

An ASM-based implementation of Paranamer. It relies on debug information compiled with the "-g" javac option to retrieve parameter names.

Portions of this source file are a fork of ASM.

Author:
Guilherme Silveira, Paul Hammant

Field Summary
 
Fields inherited from interface com.thoughtworks.paranamer.Paranamer
EMPTY_NAMES, NO_PARAMETER_NAMES_FOR_CLASS, NO_PARAMETER_NAMES_FOR_CLASS_AND_MEMBER, NO_PARAMETER_NAMES_LIST, PARAMETER_NAMES_FOUND
 
Constructor Summary
BytecodeReadingParanamer()
           
 
Method Summary
 int areParameterNamesAvailable(Class clazz, String constructorOrMethodName)
          Determine if the parameter names are available.
 String[] lookupParameterNames(AccessibleObject methodOrConstructor)
          Lookup the parameter names of a given method.
 String[] lookupParameterNames(AccessibleObject methodOrCtor, boolean throwExceptionIfMissing)
          Lookup the parameter names of a given method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BytecodeReadingParanamer

public BytecodeReadingParanamer()
Method Detail

lookupParameterNames

public String[] lookupParameterNames(AccessibleObject methodOrConstructor)
Description copied from interface: Paranamer
Lookup the parameter names of a given method.

Specified by:
lookupParameterNames in interface Paranamer
Parameters:
methodOrConstructor - the Method or Constructor for which the parameter names are looked up.
Returns:
A list of the parameter names.

lookupParameterNames

public String[] lookupParameterNames(AccessibleObject methodOrCtor,
                                     boolean throwExceptionIfMissing)
Description copied from interface: Paranamer
Lookup the parameter names of a given method.

Specified by:
lookupParameterNames in interface Paranamer
Parameters:
methodOrCtor - the Method or Constructor for which the parameter names are looked up.
Returns:
A list of the parameter names.

areParameterNamesAvailable

public int areParameterNamesAvailable(Class clazz,
                                      String constructorOrMethodName)
Description copied from interface: Paranamer
Determine if the parameter names are available.

Known issues:

Use of this method is discouraged.

Specified by:
areParameterNamesAvailable in interface Paranamer
Parameters:
clazz - the name of the class to which the method or constructor belongs.
constructorOrMethodName - the base name of the Method or Constructor. If a request is being made for the constructor, this should be "<init>".
Returns:
An int encoding the parameter names availability.


Copyright © 2010. All Rights Reserved.