Class AdaptiveParanamer

  • All Implemented Interfaces:
    Paranamer

    public class AdaptiveParanamer
    extends java.lang.Object
    implements Paranamer
    Implementation of Paranamer which chooses between a series of Paranamer instances depending on which can supply data. It prioritizes the paranamer instances according to the order they were passed in.
    Author:
    Paul Hammant, Mauro Talevi
    • Constructor Summary

      Constructors 
      Constructor Description
      AdaptiveParanamer()
      Use ParameterReflectionParanamer ahead of BytecodeReadingParanamer
      AdaptiveParanamer​(Paranamer... paranamers)
      Prioritize a series of Paranamers
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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

      • AdaptiveParanamer

        public AdaptiveParanamer()
        Use ParameterReflectionParanamer ahead of BytecodeReadingParanamer
      • AdaptiveParanamer

        public AdaptiveParanamer​(Paranamer... paranamers)
        Prioritize a series of Paranamers
        Parameters:
        paranamers - the paranamers in question
    • 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.