com.thoughtworks.paranamer
Class AnnotationParanamer

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

public class AnnotationParanamer
extends Object
implements Paranamer

Implementation of Paranamer that uses @Named annotation of JSR 330. It is overridable to allow other annotations to be used (JBehave, Guice's original one)

Author:
Paul Hammant

Nested Class Summary
static class AnnotationParanamer.Jsr330Helper
          This is a different class, because the @Inject jar may not be in the classpath.
 
Field Summary
static String __PARANAMER_DATA
           
 
Fields inherited from interface com.thoughtworks.paranamer.Paranamer
EMPTY_NAMES
 
Constructor Summary
AnnotationParanamer()
           
AnnotationParanamer(Paranamer fallback)
           
 
Method Summary
protected  String getNamedValue(Annotation ann)
          Override this if you want something other than JSR 330's Named annotation.
protected  boolean isNamed(Annotation ann)
          Override this if you want something other than JSR 330's Named annotation.
 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
 

Field Detail

__PARANAMER_DATA

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

AnnotationParanamer

public AnnotationParanamer()

AnnotationParanamer

public AnnotationParanamer(Paranamer fallback)
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.
throwExceptionIfMissing - whether to throw an exception if no Paranamer data found (versus return null).
Returns:
A list of the parameter names.

getNamedValue

protected String getNamedValue(Annotation ann)
Override this if you want something other than JSR 330's Named annotation.
return ((Named) ann).value();

Parameters:
ann - the annotation in question
Returns:
a the name value.

isNamed

protected boolean isNamed(Annotation ann)
Override this if you want something other than JSR 330's Named annotation.
return ann instanceof Named;

Parameters:
ann - the annotation in question
Returns:
whether it is the annotation holding the parameter name


Copyright © 2007-2011. All Rights Reserved.