Package com.thoughtworks.paranamer

## Interface Paranamer

- All Known Implementing Classes:
    `AdaptiveParanamer`, `AnnotationParanamer`, `BytecodeReadingParanamer`, `CachingParanamer`, `CachingParanamer.WithoutWeakReferences`, `DefaultParanamer`, `JavadocParanamer`, `NullParanamer`, `PositionalParanamer`

      public interface Paranamer

  Paranamer allows lookups of methods and constructors by parameter names.
  Author:
    Paul Hammant, Mauro Talevi

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String[]` | `EMPTY_NAMES` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String[]` | `lookupParameterNames​(AccessibleObject methodOrConstructor)` | Lookup the parameter names of a given method.
    `String[]` | `lookupParameterNames​(AccessibleObject methodOrConstructor, boolean throwExceptionIfMissing)` | Lookup the parameter names of a given method.

- - ### Field Detail

    - #### EMPTY_NAMES

          static final String[] EMPTY_NAMES

  - ### Method Detail

    - #### lookupParameterNames

          String[] lookupParameterNames​(AccessibleObject methodOrConstructor)

      Lookup the parameter names of a given method.
      Parameters:
        `methodOrConstructor` - the `Method` or `Constructor` for which the parameter names are looked up.
      Returns:
        A list of the parameter names.
      Throws:
        `ParameterNamesNotFoundException` - if no parameter names were found.
        `NullPointerException` - if the parameter is null.
        `SecurityException` - if reflection is not permitted on the containing `Class` of the parameter

    - #### lookupParameterNames

          String[] lookupParameterNames​(AccessibleObject methodOrConstructor,
                                        boolean throwExceptionIfMissing)

      Lookup the parameter names of a given method.
      Parameters:
        `methodOrConstructor` - 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.
      Throws:
        `ParameterNamesNotFoundException` - if no parameter names were found.
        `NullPointerException` - if the parameter is null.
        `SecurityException` - if reflection is not permitted on the containing `Class` of the parameter