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
`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
`protected` `AnnotatedMember(AnnotatedMember base)` Copy-constructor.
`protected` `AnnotatedMember(TypeResolutionContext ctxt, AnnotationMap annotations)`

### Method Summary

Methods
`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, getGenericType, getModifiers, getName, getRawType, getType, 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`