AnnotatedConstructor
Date: 2016-12-04

com.fasterxml.jackson.databind.introspect

## Class AnnotatedConstructor

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

- All Implemented Interfaces:
    java.io.Serializable

      public final class AnnotatedConstructor
      extends AnnotatedWithParams

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.reflect.Constructor<?>` | `_constructor`
    `protected com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.Serialization` | `_serialization` Field that is used to make JDK serialization work with this object.

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

      `_paramAnnotations`

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

      `_annotations, _typeContext`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AnnotatedConstructor(com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.Serialization ser)` Method used for JDK serialization support
    `` | `AnnotatedConstructor(TypeResolutionContext ctxt, java.lang.reflect.Constructor<?> constructor, AnnotationMap classAnn, AnnotationMap[] paramAnn)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `call()` Method that can be used to (try to) call this object without arguments.
    `java.lang.Object` | `call(java.lang.Object[] args)` Method that can be used to (try to) call this object with specified arguments.
    `java.lang.Object` | `call1(java.lang.Object arg)` Method that can be used to (try to) call this object with single arguments.
    `boolean` | `equals(java.lang.Object o)`
    `java.lang.reflect.Constructor<?>` | `getAnnotated()` Method that can be used to find actual JDK element that this instance represents.
    `java.lang.Class<?>` | `getDeclaringClass()` Actual physical class in which this memmber was declared.
    `java.lang.reflect.Type` | `getGenericParameterType(int index)` Deprecated.
    `java.lang.reflect.Member` | `getMember()`
    `int` | `getModifiers()`
    `java.lang.String` | `getName()`
    `int` | `getParameterCount()`
    `JavaType` | `getParameterType(int index)`
    `java.lang.Class<?>` | `getRawParameterType(int index)`
    `java.lang.Class<?>` | `getRawType()` "Raw" type (type-erased class) of the annotated element; definition of what exactly this means depends on sub-class.
    `JavaType` | `getType()` Full generic type of the annotated element; definition of what exactly this means depends on sub-class.
    `java.lang.Object` | `getValue(java.lang.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(java.lang.Object pojo, java.lang.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.
    `java.lang.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 com.fasterxml.jackson.databind.introspect.AnnotatedWithParams

      `addOrOverrideParam, getAnnotationCount, getParameter, getParameterAnnotations, replaceParameterAnnotations`

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

      `addIfNotPresent, addOrOverride, annotations, fixAccess, fixAccess, getAllAnnotations, getAnnotation, getTypeContext, hasAnnotation, hasOneOf`

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

      `getGenericType, getType, isPublic, withFallBackAnnotationsFrom`

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

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

- - ### Field Detail

    - #### _constructor

          protected final java.lang.reflect.Constructor<?> _constructor

    - #### _serialization

          protected com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.Serialization _serialization

      Field that is used to make JDK serialization work with this object.
      Since:
        2.1

  - ### Constructor Detail

    - #### AnnotatedConstructor

          public AnnotatedConstructor(TypeResolutionContext ctxt,
                              java.lang.reflect.Constructor<?> constructor,
                              AnnotationMap classAnn,
                              AnnotationMap[] paramAnn)

    - #### AnnotatedConstructor

          protected AnnotatedConstructor(com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.Serialization ser)

      Method used for JDK serialization support
      Since:
        2.1

  - ### 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 java.lang.reflect.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 java.lang.String getName()

      Specified by:
        `getName` in class `Annotated`

    - #### getType

          public JavaType getType()

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

    - #### getRawType

          public java.lang.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`

    - #### getParameterCount

          public int getParameterCount()

      Specified by:
        `getParameterCount` in class `AnnotatedWithParams`

    - #### getRawParameterType

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

      Specified by:
        `getRawParameterType` in class `AnnotatedWithParams`

    - #### getParameterType

          public JavaType getParameterType(int index)

      Specified by:
        `getParameterType` in class `AnnotatedWithParams`

    - #### getGenericParameterType

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

      Deprecated.
      Specified by:
        `getGenericParameterType` in class `AnnotatedWithParams`

    - #### call

          public final java.lang.Object call()
                                      throws java.lang.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:
        `java.lang.Exception`

    - #### call

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

    - #### call1

          public final java.lang.Object call1(java.lang.Object arg)
                                       throws java.lang.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:
        `java.lang.Exception`

    - #### getDeclaringClass

          public java.lang.Class<?> getDeclaringClass()

      Description copied from class: `AnnotatedMember`
      Actual physical class in which this memmber was declared.
      Specified by:
        `getDeclaringClass` in class `AnnotatedMember`

    - #### getMember

          public java.lang.reflect.Member getMember()

      Specified by:
        `getMember` in class `AnnotatedMember`

    - #### setValue

          public void setValue(java.lang.Object pojo,
                      java.lang.Object value)
                        throws java.lang.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:
        `java.lang.UnsupportedOperationException`

    - #### getValue

          public java.lang.Object getValue(java.lang.Object pojo)
                                    throws java.lang.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:
        `java.lang.UnsupportedOperationException`

    - #### toString

          public java.lang.String toString()

      Specified by:
        `toString` in class `Annotated`

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in class `Annotated`

    - #### equals

          public boolean equals(java.lang.Object o)

      Specified by:
        `equals` in class `Annotated`