com.thoughtworks.paranamer
Class AdaptiveParanamer

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

public class AdaptiveParanamer
extends Object
implements Paranamer

Implementation of Paranamer which automatically chooses between two Paranamer implementations depending on which can supply data

Author:
Paul Hammant, Mauro Talevi

Field Summary
static String __PARANAMER_DATA
           
 
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
AdaptiveParanamer()
          Cache a DefaultParanamer's lookups.
AdaptiveParanamer(Paranamer delegate, Paranamer fallback)
          Cache a primary and secondary Paranamer instance (the second is a fallback to the first)
 
Method Summary
 int areParameterNamesAvailable(Class clazz, String ctorOrMethodName)
          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.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

__PARANAMER_DATA

public static final String __PARANAMER_DATA
See Also:
Constant Field Values
Constructor Detail

AdaptiveParanamer

public AdaptiveParanamer()
Cache a DefaultParanamer's lookups.


AdaptiveParanamer

public AdaptiveParanamer(Paranamer delegate,
                         Paranamer fallback)
Cache a primary and secondary Paranamer instance (the second is a fallback to the first)

Parameters:
delegate - first
fallback - second
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 ctorOrMethodName)
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.
ctorOrMethodName - 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.

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2010. All Rights Reserved.