AnnotatedField
Date: 2016-12-04

com.fasterxml.jackson.databind.introspect

## Class AnnotatedField

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

- All Implemented Interfaces:
    java.io.Serializable

      public final class AnnotatedField
      extends AnnotatedMember
      implements java.io.Serializable

  Object that represents non-static (and usually non-transient/volatile) fields of a class.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.reflect.Field` | `_field` Actual `Field` used for access.
    `protected com.fasterxml.jackson.databind.introspect.AnnotatedField.Serialization` | `_serialization` Temporary field required for JDK serialization support

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

      `_annotations, _typeContext`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AnnotatedField(com.fasterxml.jackson.databind.introspect.AnnotatedField.Serialization ser)` Method used for JDK serialization support
    `` | `AnnotatedField(TypeResolutionContext contextClass, java.lang.reflect.Field field, AnnotationMap annMap)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object o)`
    `java.lang.reflect.Field` | `getAnnotated()` Method that can be used to find actual JDK element that this instance represents.
    `int` | `getAnnotationCount()`
    `java.lang.Class<?>` | `getDeclaringClass()` Actual physical class in which this memmber was declared.
    `java.lang.String` | `getFullName()`
    `java.lang.reflect.Type` | `getGenericType()` Deprecated.
    `java.lang.reflect.Member` | `getMember()`
    `int` | `getModifiers()`
    `java.lang.String` | `getName()`
    `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()`
    `boolean` | `isTransient()`
    `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()`
    `AnnotatedField` | `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, fixAccess, getAllAnnotations, getAnnotation, getTypeContext, hasAnnotation, hasOneOf`

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

      `getType, isPublic, withFallBackAnnotationsFrom`

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

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

- - ### Field Detail

    - #### _field

          protected final transient java.lang.reflect.Field _field

      Actual `Field` used for access.

      Transient since it can not be persisted directly using JDK serialization

    - #### _serialization

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

      Temporary field required for JDK serialization support

  - ### Constructor Detail

    - #### AnnotatedField

          public AnnotatedField(TypeResolutionContext contextClass,
                        java.lang.reflect.Field field,
                        AnnotationMap annMap)

    - #### AnnotatedField

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

      Method used for JDK serialization support

  - ### Method Detail

    - #### withAnnotations

          public AnnotatedField 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.Field 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`

    - #### 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`

    - #### getGenericType

          @Deprecated
          public java.lang.reflect.Type getGenericType()

      Deprecated.
      Description copied from class: `Annotated`
      JDK declared generic type of the annotated element; definition of what exactly this means depends on sub-class. Note that such type can not be reliably resolved without `TypeResolutionContext`, and as a result use of this method was deprecated in Jackson 2.7: see `Annotated.getType()` for replacement.
      Overrides:
        `getGenericType` 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`

    - #### 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.IllegalArgumentException

      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.IllegalArgumentException`

    - #### getValue

          public java.lang.Object getValue(java.lang.Object pojo)
                                    throws java.lang.IllegalArgumentException

      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.IllegalArgumentException`

    - #### getFullName

          public java.lang.String getFullName()

    - #### getAnnotationCount

          public int getAnnotationCount()

    - #### isTransient

          public boolean isTransient()

      Since:
        2.6

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in class `Annotated`

    - #### equals

          public boolean equals(java.lang.Object o)

      Specified by:
        `equals` in class `Annotated`

    - #### toString

          public java.lang.String toString()

      Specified by:
        `toString` in class `Annotated`