AnnotatedWithParams
Date: 2016-12-04

com.fasterxml.jackson.databind.introspect

## Class AnnotatedWithParams

- java.lang.Object
- - com.fasterxml.jackson.databind.introspect.Annotated
  - - com.fasterxml.jackson.databind.introspect.AnnotatedMember
    - - com.fasterxml.jackson.databind.introspect.AnnotatedWithParams

- All Implemented Interfaces:
    java.io.Serializable
  Direct Known Subclasses:
    AnnotatedConstructor, AnnotatedMethod, CreatorCollector.StdTypeConstructor

      public abstract class AnnotatedWithParams
      extends AnnotatedMember

  Intermediate base class that encapsulates features that constructors and methods share.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected AnnotationMap[]` | `_paramAnnotations` Annotations associated with parameters of the annotated entity (method or constructor parameters)

    - ### Fields inherited from class com.fasterxml.jackson.databind.introspect.AnnotatedMember

      `_annotations, _typeContext`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AnnotatedWithParams(AnnotatedWithParams base, AnnotationMap[] paramAnnotations)`
    `protected` | `AnnotatedWithParams(TypeResolutionContext ctxt, AnnotationMap annotations, AnnotationMap[] paramAnnotations)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addOrOverrideParam(int paramIndex, java.lang.annotation.Annotation a)` Method called to override a method parameter annotation, usually due to a mix-in annotation masking or overriding an annotation 'real' method has.
    `abstract java.lang.Object` | `call()` Method that can be used to (try to) call this object without arguments.
    `abstract java.lang.Object` | `call(java.lang.Object[] args)` Method that can be used to (try to) call this object with specified arguments.
    `abstract java.lang.Object` | `call1(java.lang.Object arg)` Method that can be used to (try to) call this object with single arguments.
    `int` | `getAnnotationCount()`
    `abstract java.lang.reflect.Type` | `getGenericParameterType(int index)` Deprecated. Since 2.7, remove in 2.9
    `AnnotatedParameter` | `getParameter(int index)`
    `AnnotationMap` | `getParameterAnnotations(int index)`
    `abstract int` | `getParameterCount()`
    `abstract JavaType` | `getParameterType(int index)`
    `abstract java.lang.Class<?>` | `getRawParameterType(int index)`
    `protected AnnotatedParameter` | `replaceParameterAnnotations(int index, AnnotationMap ann)` Method called by parameter object when an augmented instance is created; needs to replace parameter with new instance

    - ### Methods inherited from class com.fasterxml.jackson.databind.introspect.AnnotatedMember

      `addIfNotPresent, addOrOverride, annotations, fixAccess, fixAccess, getAllAnnotations, getAnnotation, getDeclaringClass, getMember, getTypeContext, getValue, hasAnnotation, hasOneOf, setValue`

    - ### Methods inherited from class com.fasterxml.jackson.databind.introspect.Annotated

      `equals, getAnnotated, getGenericType, getModifiers, getName, getRawType, getType, getType, hashCode, isPublic, toString, withAnnotations, withFallBackAnnotationsFrom`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### _paramAnnotations

          protected final AnnotationMap[] _paramAnnotations

      Annotations associated with parameters of the annotated entity (method or constructor parameters)

  - ### Constructor Detail

    - #### AnnotatedWithParams

          protected AnnotatedWithParams(TypeResolutionContext ctxt,
                             AnnotationMap annotations,
                             AnnotationMap[] paramAnnotations)

    - #### AnnotatedWithParams

          protected AnnotatedWithParams(AnnotatedWithParams base,
                             AnnotationMap[] paramAnnotations)

      Since:
        2.8.1

  - ### Method Detail

    - #### addOrOverrideParam

          public final void addOrOverrideParam(int paramIndex,
                                java.lang.annotation.Annotation a)

      Method called to override a method parameter annotation, usually due to a mix-in annotation masking or overriding an annotation 'real' method has.

    - #### replaceParameterAnnotations

          protected AnnotatedParameter replaceParameterAnnotations(int index,
                                                       AnnotationMap ann)

      Method called by parameter object when an augmented instance is created; needs to replace parameter with new instance

    - #### getParameterAnnotations

          public final AnnotationMap getParameterAnnotations(int index)

    - #### getParameter

          public final AnnotatedParameter getParameter(int index)

    - #### getParameterCount

          public abstract int getParameterCount()

    - #### getRawParameterType

          public abstract java.lang.Class<?> getRawParameterType(int index)

    - #### getParameterType

          public abstract JavaType getParameterType(int index)

      Since:
        2.7

    - #### getGenericParameterType

          @Deprecated
          public abstract java.lang.reflect.Type getGenericParameterType(int index)

      Deprecated. Since 2.7, remove in 2.9

    - #### getAnnotationCount

          public final int getAnnotationCount()

    - #### call

          public abstract java.lang.Object call()
                                         throws java.lang.Exception

      Method that can be used to (try to) call this object without arguments. This may succeed or fail, depending on expected number of arguments: caller needs to take care to pass correct number. Exceptions are thrown directly from actual low-level call.

      Note: only works for constructors and static methods.

      Throws:
        `java.lang.Exception`

    - #### call

          public abstract java.lang.Object call(java.lang.Object[] args)
                                         throws java.lang.Exception

      Method that can be used to (try to) call this object with specified arguments. This may succeed or fail, depending on expected number of arguments: caller needs to take care to pass correct number. Exceptions are thrown directly from actual low-level call.

      Note: only works for constructors and static methods.

      Throws:
        `java.lang.Exception`

    - #### call1

          public abstract java.lang.Object call1(java.lang.Object arg)
                                          throws java.lang.Exception

      Method that can be used to (try to) call this object with single arguments. This may succeed or fail, depending on expected number of arguments: caller needs to take care to pass correct number. Exceptions are thrown directly from actual low-level call.

      Note: only works for constructors and static methods.

      Throws:
        `java.lang.Exception`