Class AnnotationParanamer

  • All Implemented Interfaces:
    Paranamer

    public class AnnotationParanamer
    extends java.lang.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)
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  AnnotationParanamer.Jsr330Helper
      This is a different class, because the @Inject jar may not be in the classpath.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.String getNamedValue​(java.lang.annotation.Annotation ann)
      Override this if you want something other than JSR 330's Named annotation.
      protected boolean isNamed​(java.lang.annotation.Annotation ann)
      Override this if you want something other than JSR 330's Named annotation.
      java.lang.String[] lookupParameterNames​(java.lang.reflect.AccessibleObject methodOrConstructor)
      Lookup the parameter names of a given method.
      java.lang.String[] lookupParameterNames​(java.lang.reflect.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

      • AnnotationParanamer

        public AnnotationParanamer()
      • AnnotationParanamer

        public AnnotationParanamer​(Paranamer fallback)
    • Method Detail

      • lookupParameterNames

        public java.lang.String[] lookupParameterNames​(java.lang.reflect.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 java.lang.String[] lookupParameterNames​(java.lang.reflect.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 java.lang.String getNamedValue​(java.lang.annotation.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​(java.lang.annotation.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