org.codehaus.jackson.map.introspect

## Class AnnotatedConstructor

- java.lang.Object
- - org.codehaus.jackson.map.introspect.Annotated
  - - org.codehaus.jackson.map.introspect.AnnotatedMember
    - - org.codehaus.jackson.map.introspect.AnnotatedWithParams
      - - org.codehaus.jackson.map.introspect.AnnotatedConstructor

-     public final class AnnotatedConstructor
      extends AnnotatedWithParams

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Constructor<?>` | `_constructor`

    - ### Fields inherited from class org.codehaus.jackson.map.introspect.AnnotatedWithParams

      `_paramAnnotations`

    - ### Fields inherited from class org.codehaus.jackson.map.introspect.AnnotatedMember

      `_annotations`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AnnotatedConstructor(Constructor<?> constructor, AnnotationMap classAnn, AnnotationMap[] paramAnn)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `call()` Method that can be used to (try to) call this object without arguments.
    `Object` | `call(Object[] args)` Method that can be used to (try to) call this object with specified arguments.
    `Object` | `call1(Object arg)` Method that can be used to (try to) call this object with single arguments.
    `Constructor<?>` | `getAnnotated()` Method that can be used to find actual JDK element that this instance represents.
    `Class<?>` | `getDeclaringClass()`
    `Type` | `getGenericType()` Full generic type of the annotated element; definition of what exactly this means depends on sub-class.
    `Member` | `getMember()`
    `int` | `getModifiers()`
    `String` | `getName()`
    `Class<?>` | `getParameterClass(int index)`
    `int` | `getParameterCount()`
    `Type` | `getParameterType(int index)`
    `Class<?>` | `getRawType()` "Raw" type (type-erased class) of the annotated element; definition of what exactly this means depends on sub-class.
    `JavaType` | `getType(TypeBindings bindings)` As per [JACKSON-468], we need to also allow declaration of local type bindings; mostly it will allow defining bounds.
    `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()`
    `AnnotatedConstructor` | `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 org.codehaus.jackson.map.introspect.AnnotatedWithParams

      `addIfNotPresent, addOrOverride, addOrOverrideParam, getAnnotation, getAnnotationCount, getParameter, getParameterAnnotations, getType, replaceParameterAnnotations, resolveParameterType`

    - ### Methods inherited from class org.codehaus.jackson.map.introspect.AnnotatedMember

      `fixAccess, getAllAnnotations`

    - ### Methods inherited from class org.codehaus.jackson.map.introspect.Annotated

      `hasAnnotation, isPublic, withFallBackAnnotationsFrom`

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

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

- - ### Field Detail

    - #### _constructor

          protected final Constructor<?> _constructor

  - ### Constructor Detail

    - #### AnnotatedConstructor

          public AnnotatedConstructor(Constructor<?> constructor,
                              AnnotationMap classAnn,
                              AnnotationMap[] paramAnn)

  - ### Method Detail

    - #### withAnnotations

          public AnnotatedConstructor 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 Constructor<?> getAnnotated()

      Description copied from class: `Annotated`
      Method that can be used to find actual JDK element that this instance represents. It is non-null, except for method/constructor parameters which do not have a JDK counterpart.
      Specified by:
        `getAnnotated` in class `Annotated`

    - #### getModifiers

          public int getModifiers()

      Specified by:
        `getModifiers` in class `Annotated`

    - #### getName

          public String getName()

      Specified by:
        `getName` 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`

    - #### getType

          public JavaType getType(TypeBindings bindings)

      As per [JACKSON-468], we need to also allow declaration of local type bindings; mostly it will allow defining bounds.
      Overrides:
        `getType` in class `Annotated`

    - #### getParameterCount

          public int getParameterCount()

      Specified by:
        `getParameterCount` in class `AnnotatedWithParams`

    - #### getParameterClass

          public Class<?> getParameterClass(int index)

      Specified by:
        `getParameterClass` in class `AnnotatedWithParams`

    - #### getParameterType

          public Type getParameterType(int index)

      Specified by:
        `getParameterType` in class `AnnotatedWithParams`

    - #### call

          public final Object call()
                            throws Exception

      Description copied from class: `AnnotatedWithParams`
      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.

      Specified by:
        `call` in class `AnnotatedWithParams`
      Throws:
        `Exception`

    - #### call

          public final Object call(Object[] args)
                            throws Exception

      Description copied from class: `AnnotatedWithParams`
      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.

      Specified by:
        `call` in class `AnnotatedWithParams`
      Throws:
        `Exception`

    - #### call1

          public final Object call1(Object arg)
                             throws Exception

      Description copied from class: `AnnotatedWithParams`
      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.

      Specified by:
        `call1` in class `AnnotatedWithParams`
      Throws:
        `Exception`

    - #### getDeclaringClass

          public Class<?> getDeclaringClass()

      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 fiedlds and single-argument methods; but not for constructor parameters or other types of methods.

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

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`