com.fasterxml.jackson.databind.introspect

## Class AnnotatedParameter

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

All Implemented Interfaces:
  Serializable

    public final class AnnotatedParameter
    extends AnnotatedMember

Object that represents method parameters, mostly so that associated annotations can be processed conveniently. Note that many of accessors can not return meaningful values since parameters do not have stand-alone JDK objects associated; so access should mostly be limited to checking annotation values which are properly aggregated and included.

See Also:
  Serialized Form

### Field Summary

Fields
`protected int` `_index` Index of the parameter within argument list
`protected AnnotatedWithParams` `_owner` Member (method, constructor) that this parameter belongs to
`protected Type` `_type` JDK type of the parameter, possibly contains generic type information

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

`_annotations, _context`

### Constructor Summary

Constructors
Constructor and Description
`AnnotatedParameter(AnnotatedWithParams owner, Type type, AnnotationMap annotations, int index)`

### Method Summary

Methods
`boolean` `equals(Object o)`
`AnnotatedElement` `getAnnotated()` Since there is no matching JDK element, this method will always return null
`<A extends Annotation> A` `getAnnotation(Class<A> acls)` Accessor for annotations; all annotations associated with parameters are properly passed and accessible.
`Class<?>` `getDeclaringClass()` Actual physical class in which this memmber was declared.
`Type` `getGenericType()` Full generic type of the annotated element; definition of what exactly this means depends on sub-class.
`int` `getIndex()` Accessor for index of this parameter within argument list
`Member` `getMember()`
`int` `getModifiers()` Returns modifiers of the constructor, as parameters do not have independent modifiers.
`String` `getName()` Parameters have no names in bytecode (unlike in source code), will always return empty String ("").
`AnnotatedWithParams` `getOwner()` Accessor for 'owner' of this parameter; method or constructor that has this parameter as member of its argument list.
`Type` `getParameterType()`
`Class<?>` `getRawType()` "Raw" type (type-erased class) of the annotated element; definition of what exactly this means depends on sub-class.
`Object` `getValue(Object pojo)` Optional method that can be used to access the value of this member on given object, if this is a supported operation for member type.
`int` `hashCode()`
`void` `setValue(Object pojo, Object value)` Optional method that can be used to assign value of this member on given object, if this is a supported operation for member type.
`String` `toString()`
`AnnotatedParameter` `withAnnotations(AnnotationMap ann)` Fluent factory method that will construct a new instance that uses specified instance annotations instead of currently configured ones.

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

`addIfNotPresent, addOrOverride, annotations, fixAccess, getAllAnnotations, getContextClass`

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

`getType, hasAnnotation, isPublic, withFallBackAnnotationsFrom`

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

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

### Field Detail

#### _owner

    protected final AnnotatedWithParams _owner

Member (method, constructor) that this parameter belongs to

#### _type

    protected final Type _type

JDK type of the parameter, possibly contains generic type information

#### _index

    protected final int _index

Index of the parameter within argument list

### Constructor Detail

#### AnnotatedParameter

    public AnnotatedParameter(AnnotatedWithParams owner,
                      Type type,
                      AnnotationMap annotations,
                      int index)

### Method Detail

#### withAnnotations

    public AnnotatedParameter withAnnotations(AnnotationMap ann)

Description copied from class: `Annotated`
Fluent factory method that will construct a new instance that uses specified instance annotations instead of currently configured ones.

Specified by:
  `withAnnotations` in class `Annotated`

#### getAnnotated

    public AnnotatedElement getAnnotated()

Since there is no matching JDK element, this method will always return null

Specified by:
  `getAnnotated` in class `Annotated`

#### getModifiers

    public int getModifiers()

Returns modifiers of the constructor, as parameters do not have independent modifiers.

Specified by:
  `getModifiers` in class `Annotated`

#### getName

    public String getName()

Parameters have no names in bytecode (unlike in source code), will always return empty String ("").

Specified by:
  `getName` in class `Annotated`

#### getAnnotation

    public <A extends Annotation> A getAnnotation(Class<A> acls)

Accessor for annotations; all annotations associated with parameters are properly passed and accessible.

Specified by:
  `getAnnotation` in class `Annotated`

#### getGenericType

    public Type getGenericType()

Description copied from class: `Annotated`
Full generic type of the annotated element; definition of what exactly this means depends on sub-class.

Specified by:
  `getGenericType` in class `Annotated`

#### getRawType

    public Class<?> getRawType()

Description copied from class: `Annotated`
"Raw" type (type-erased class) of the annotated element; definition of what exactly this means depends on sub-class.

Specified by:
  `getRawType` in class `Annotated`

#### getDeclaringClass

    public Class<?> getDeclaringClass()

Description copied from class: `AnnotatedMember`
Actual physical class in which this memmber was declared. Note that this may be different from what `AnnotatedMember.getContextClass()` returns; "owner" may be a sub-type of "declaring class".

Specified by:
  `getDeclaringClass` in class `AnnotatedMember`

#### getMember

    public Member getMember()

Specified by:
  `getMember` in class `AnnotatedMember`

#### setValue

    public void setValue(Object pojo,
                Object value)
                  throws UnsupportedOperationException

Description copied from class: `AnnotatedMember`
Optional method that can be used to assign value of this member on given object, if this is a supported operation for member type.

This is implemented for fields and single-argument member methods; but not for constructor parameters or other types of methods (like static methods)

Specified by:
  `setValue` in class `AnnotatedMember`
Throws:
  `UnsupportedOperationException`

#### getValue

    public Object getValue(Object pojo)
                    throws UnsupportedOperationException

Description copied from class: `AnnotatedMember`
Optional method that can be used to access the value of this member on given object, if this is a supported operation for member type.

This is implemented for fields and no-argument member methods; but not for constructor parameters or other types of methods (like static methods)

Specified by:
  `getValue` in class `AnnotatedMember`
Throws:
  `UnsupportedOperationException`

#### getParameterType

    public Type getParameterType()

#### getOwner

    public AnnotatedWithParams getOwner()

Accessor for 'owner' of this parameter; method or constructor that has this parameter as member of its argument list.

Returns:
  Owner (member or creator) object of this parameter

#### getIndex

    public int getIndex()

Accessor for index of this parameter within argument list

Returns:
  Index of this parameter within argument list

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in class `Annotated`

#### equals

    public boolean equals(Object o)

Specified by:
  `equals` in class `Annotated`

#### toString

    public String toString()

Specified by:
  `toString` in class `Annotated`