com.fasterxml.jackson.databind.introspect
Class AnnotatedMember

java.lang.Object
  extended by com.fasterxml.jackson.databind.introspect.Annotated
      extended by com.fasterxml.jackson.databind.introspect.AnnotatedMember
Direct Known Subclasses:
AnnotatedField, AnnotatedParameter, AnnotatedWithParams

public abstract class AnnotatedMember
extends Annotated

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.

Author:
tatu

Field Summary
protected  AnnotationMap _annotations
           
 
Constructor Summary
protected AnnotatedMember(AnnotationMap annotations)
           
 
Method Summary
 void addIfNotPresent(Annotation a)
          Method called to augment annotations, by adding specified annotation if and only if it is not yet present in the annotation map we have.
 void addOrOverride(Annotation a)
          Method called to override an annotation, usually due to a mix-in annotation masking or overriding an annotation 'real' constructor has.
 void fixAccess()
          Method that can be called to modify access rights, by calling AccessibleObject.setAccessible(java.lang.reflect.AccessibleObject[], boolean) on the underlying annotated element.
protected  AnnotationMap getAllAnnotations()
           
abstract  Class<?> getDeclaringClass()
           
abstract  Member getMember()
           
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.
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.
 
Methods inherited from class com.fasterxml.jackson.databind.introspect.Annotated
getAnnotated, getAnnotation, getGenericType, getModifiers, getName, getRawType, getType, hasAnnotation, isPublic, withAnnotations, withFallBackAnnotationsFrom
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_annotations

protected final AnnotationMap _annotations
Constructor Detail

AnnotatedMember

protected AnnotatedMember(AnnotationMap annotations)
Method Detail

getDeclaringClass

public abstract Class<?> getDeclaringClass()

getMember

public abstract Member getMember()

getAllAnnotations

protected AnnotationMap getAllAnnotations()
Specified by:
getAllAnnotations in class Annotated

addOrOverride

public final void addOrOverride(Annotation a)
Method called to override an annotation, usually due to a mix-in annotation masking or overriding an annotation 'real' constructor has.


addIfNotPresent

public final void addIfNotPresent(Annotation a)
Method called to augment annotations, by adding specified annotation if and only if it is not yet present in the annotation map we have.


fixAccess

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


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 © 2012 fasterxml.com. All Rights Reserved.