com.fasterxml.jackson.databind.introspect

## Class VirtualAnnotatedMember

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

All Implemented Interfaces:
  Serializable

    public class VirtualAnnotatedMember
    extends AnnotatedMember
    implements Serializable

Placeholder used by virtual properties as placeholder for underlying `AnnotatedMember`.

Since:
  2.5
See Also:
  Serialized Form

### Field Summary

Fields
`protected Class<?>` `_declaringClass`
`protected String` `_name`
`protected JavaType` `_type`

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

`_annotations, _typeContext`

### Constructor Summary

Constructors
Constructor and Description
`VirtualAnnotatedMember(TypeResolutionContext typeContext, Class<?> declaringClass, String name, JavaType type)`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals(Object o)`
`Field` `getAnnotated()` Method that can be used to find actual JDK element that this instance represents.
`int` `getAnnotationCount()`
`Class<?>` `getDeclaringClass()` Actual physical class in which this memmber was declared.
`Member` `getMember()`
`int` `getModifiers()`
`String` `getName()`
`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.
`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.
`int` `hashCode()`
`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()`
`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.AnnotatedMember

`annotations, fixAccess, getAllAnnotations, getAnnotation, getFullName, getTypeContext, hasAnnotation, hasOneOf`

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

`getGenericType, getType, isPublic`

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

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

### Field Detail

#### _declaringClass

    protected final Class<?> _declaringClass

#### _type

    protected final JavaType _type

Since:
  2.8 with this signature; had `_rawType` earlier

#### _name

    protected final String _name

### Constructor Detail

#### VirtualAnnotatedMember

    public VirtualAnnotatedMember(TypeResolutionContext typeContext,
                                  Class<?> declaringClass,
                                  String name,
                                  JavaType type)

### Method Detail

#### withAnnotations

    public Annotated withAnnotations(AnnotationMap fallback)

Description copied from class: `AnnotatedMember`
Fluent factory method that will construct a new instance that uses specified instance annotations instead of currently configured ones.

Specified by:
  `withAnnotations` in class `AnnotatedMember`

#### getAnnotated

    public 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 String getName()

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

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 Class<?> getDeclaringClass()

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

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

#### getValue

    public Object getValue(Object pojo)
                    throws 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:
  `IllegalArgumentException`

#### getAnnotationCount

    public int getAnnotationCount()

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in class `Annotated`

#### equals

    public boolean equals(Object o)

Specified by:
  `equals` in class `Annotated`

#### toString

    public String toString()

Specified by:
  `toString` in class `Annotated`