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:
  Serializable

Direct Known Subclasses:
  AnnotatedConstructor, AnnotatedMethod

    public abstract class AnnotatedWithParams
    extends AnnotatedMember

Intermediate base class that encapsulates features that constructors and methods share.

See Also:
  Serialized Form

### Field Summary

Fields
`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
`protected` `AnnotatedWithParams(AnnotatedWithParams base, AnnotationMap[] paramAnnotations)`
`protected` `AnnotatedWithParams(TypeResolutionContext ctxt, AnnotationMap annotations, AnnotationMap[] paramAnnotations)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
`void` `addOrOverrideParam(int paramIndex, 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 Object` `call()` Method that can be used to (try to) call this object without arguments.
`abstract Object` `call(Object[] args)` Method that can be used to (try to) call this object with specified arguments.
`abstract Object` `call1(Object arg)` Method that can be used to (try to) call this object with single arguments.
`int` `getAnnotationCount()`
`abstract 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 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

`annotations, fixAccess, getAllAnnotations, getAnnotation, getDeclaringClass, getFullName, getMember, getTypeContext, getValue, hasAnnotation, hasOneOf, setValue, withAnnotations`

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

`equals, getAnnotated, getModifiers, getName, getRawType, getType, hashCode, isPublic, toString`

### 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,
                                         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 Class<?> getRawParameterType(int index)

#### getParameterType

    public abstract JavaType getParameterType(int index)

Since:
  2.7

#### getGenericParameterType

    @Deprecated
    public abstract Type getGenericParameterType(int index)

Deprecated. Since 2.7, remove in 2.9

#### getAnnotationCount

    public final int getAnnotationCount()

#### call

    public abstract Object call()
                         throws 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:
  `Exception`

#### call

    public abstract Object call(Object[] args)
                         throws 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:
  `Exception`

#### call1

    public abstract Object call1(Object arg)
                          throws 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:
  `Exception`