Class AnnotationParanamer

java.lang.Object
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
  • Field Details

  • Constructor Details

    • AnnotationParanamer

      public AnnotationParanamer()
    • AnnotationParanamer

      public AnnotationParanamer(Paranamer fallback)
  • Method Details

    • 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