com.fasterxml.jackson.databind.introspect

## Class AnnotatedMember

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

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    AnnotatedField, AnnotatedParameter, AnnotatedWithParams, VirtualAnnotatedMember

      public abstract class AnnotatedMember
      extends Annotated
      implements Serializable

  Intermediate base class for annotated entities that are members of a class; fields, methods and constructors. This is a superset of things that can represent logical properties as it contains constructors in addition to fields and methods.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected AnnotationMap` | `_annotations`
    `protected TypeResolutionContext` | `_typeContext` Context object needed for resolving generic type associated with this member (method parameter or return value, or field type).

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AnnotatedMember(AnnotatedMember base)` Copy-constructor.
    `protected` | `AnnotatedMember(TypeResolutionContext ctxt, AnnotationMap annotations)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `Iterable<Annotation>` | `annotations()` Deprecated.
    `void` | `fixAccess(boolean force)` Method that can be called to modify access rights, by calling `AccessibleObject.setAccessible(java.lang.reflect.AccessibleObject[], boolean)` on the underlying annotated element.
    `AnnotationMap` | `getAllAnnotations()` NOTE: promoted in 2.9 from `Annotated` up
    `<A extends Annotation> A` | `getAnnotation(Class<A> acls)`
    `abstract Class<?>` | `getDeclaringClass()` Actual physical class in which this memmber was declared.
    `String` | `getFullName()`
    `abstract Member` | `getMember()`
    `TypeResolutionContext` | `getTypeContext()` Deprecated. Since 2.9
    `abstract 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.
    `boolean` | `hasAnnotation(Class<?> acls)`
    `boolean` | `hasOneOf(Class<? extends Annotation>[] annoClasses)`
    `abstract 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.
    `abstract Annotated` | `withAnnotations(AnnotationMap fallback)` 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.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

    - #### _typeContext

          protected final transient TypeResolutionContext _typeContext

      Context object needed for resolving generic type associated with this member (method parameter or return value, or field type).
      Since:
        2.7

    - #### _annotations

          protected final transient AnnotationMap _annotations

  - ### Constructor Detail

    - #### AnnotatedMember

          protected AnnotatedMember(TypeResolutionContext ctxt,
                                    AnnotationMap annotations)

    - #### AnnotatedMember

          protected AnnotatedMember(AnnotatedMember base)

      Copy-constructor.
      Since:
        2.5

  - ### Method Detail

    - #### withAnnotations

          public abstract Annotated withAnnotations(AnnotationMap fallback)

      Fluent factory method that will construct a new instance that uses specified instance annotations instead of currently configured ones.
      Since:
        2.9 (promoted from `Annotated`)

    - #### getDeclaringClass

          public abstract Class<?> getDeclaringClass()

      Actual physical class in which this memmber was declared.

    - #### getMember

          public abstract Member getMember()

    - #### getFullName

          public String getFullName()

    - #### getTypeContext

          @Deprecated
          public TypeResolutionContext getTypeContext()

      Deprecated. Since 2.9
      Accessor for `TypeResolutionContext` that is used for resolving full generic type of this member.
      Since:
        2.7

    - #### getAnnotation

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

      Specified by:
        `getAnnotation` in class `Annotated`

    - #### hasAnnotation

          public final boolean hasAnnotation(Class<?> acls)

      Specified by:
        `hasAnnotation` in class `Annotated`

    - #### hasOneOf

          public boolean hasOneOf(Class<? extends Annotation>[] annoClasses)

      Specified by:
        `hasOneOf` in class `Annotated`

    - #### annotations

          @Deprecated
          public Iterable<Annotation> annotations()

      Deprecated.
      Description copied from class: `Annotated`
      Accessor that can be used to iterate over all the annotations associated with annotated component.
      Specified by:
        `annotations` in class `Annotated`

    - #### getAllAnnotations

          public AnnotationMap getAllAnnotations()

      NOTE: promoted in 2.9 from `Annotated` up

    - #### fixAccess

          public final void fixAccess(boolean force)

      Method that can be called to modify access rights, by calling `AccessibleObject.setAccessible(java.lang.reflect.AccessibleObject[], boolean)` on the underlying annotated element.

      Note that caller should verify that `MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS` is enabled before calling this method; as well as pass `force` flag appropriately.

      Since:
        2.7

    - #### setValue

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

      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)

      Throws:
        `UnsupportedOperationException`
        `IllegalArgumentException`

    - #### getValue

          public abstract Object getValue(Object pojo)
                                   throws UnsupportedOperationException,
                                          IllegalArgumentException

      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)

      Throws:
        `UnsupportedOperationException`
        `IllegalArgumentException`

Copyright © 2008–2020 FasterXML. All rights reserved.