com.fasterxml.jackson.databind.introspect
Class AnnotatedParameter

java.lang.Object
  extended by com.fasterxml.jackson.databind.introspect.Annotated
      extended by com.fasterxml.jackson.databind.introspect.AnnotatedMember
          extended by com.fasterxml.jackson.databind.introspect.AnnotatedParameter

public final class AnnotatedParameter
extends AnnotatedMember

Object that represents method parameters, mostly so that associated annotations can be processed conveniently. Note that many of accessors can not return meaningful values since parameters do not have stand-alone JDK objects associated; so access should mostly be limited to checking annotation values which are properly aggregated and included.

Note: as of version 1.7, this type extends AnnotatedMember, since it behaves like a member for the most part, but earlier it just extended Annotated


Field Summary
protected  int _index
          Index of the parameter within argument list
protected  AnnotatedWithParams _owner
          Member (method, constructor) that this parameter belongs to
protected  Type _type
          JDK type of the parameter, possibly contains generic type information
 
Fields inherited from class com.fasterxml.jackson.databind.introspect.AnnotatedMember
_annotations
 
Constructor Summary
AnnotatedParameter(AnnotatedWithParams owner, Type type, AnnotationMap annotations, int index)
           
 
Method Summary
 AnnotatedElement getAnnotated()
          Since there is no matching JDK element, this method will always return null
<A extends Annotation>
A
getAnnotation(Class<A> acls)
          Accessor for annotations; all annotations associated with parameters are properly passed and accessible.
 Class<?> getDeclaringClass()
           
 Type getGenericType()
          Full generic type of the annotated element; definition of what exactly this means depends on sub-class.
 int getIndex()
          Accessor for index of this parameter within argument list
 Member getMember()
           
 int getModifiers()
          Returns modifiers of the constructor, as parameters do not have independent modifiers.
 String getName()
          Parameters have no names in bytecode (unlike in source code), will always return empty String ("").
 AnnotatedWithParams getOwner()
          Accessor for 'owner' of this parameter; method or constructor that has this parameter as member of its argument list.
 Type getParameterType()
           
 Class<?> getRawType()
          "Raw" type (type-erased class) 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.
 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()
           
 AnnotatedParameter 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, fixAccess, getAllAnnotations
 
Methods inherited from class com.fasterxml.jackson.databind.introspect.Annotated
getType, hasAnnotation, isPublic, withFallBackAnnotationsFrom
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_owner

protected final AnnotatedWithParams _owner
Member (method, constructor) that this parameter belongs to


_type

protected final Type _type
JDK type of the parameter, possibly contains generic type information


_index

protected final int _index
Index of the parameter within argument list

Constructor Detail

AnnotatedParameter

public AnnotatedParameter(AnnotatedWithParams owner,
                          Type type,
                          AnnotationMap annotations,
                          int index)
Method Detail

withAnnotations

public AnnotatedParameter 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 AnnotatedElement getAnnotated()
Since there is no matching JDK element, this method will always return null

Specified by:
getAnnotated in class Annotated

getModifiers

public int getModifiers()
Returns modifiers of the constructor, as parameters do not have independent modifiers.

Specified by:
getModifiers in class Annotated

getName

public String getName()
Parameters have no names in bytecode (unlike in source code), will always return empty String ("").

Specified by:
getName in class Annotated

getAnnotation

public <A extends Annotation> A getAnnotation(Class<A> acls)
Accessor for annotations; all annotations associated with parameters are properly passed and accessible.

Specified by:
getAnnotation in class Annotated

getGenericType

public Type getGenericType()
Description copied from class: Annotated
Full generic type of the annotated element; definition of what exactly this means depends on sub-class.

Specified by:
getGenericType 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

getDeclaringClass

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

getValue

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

getParameterType

public Type getParameterType()

getOwner

public AnnotatedWithParams getOwner()
Accessor for 'owner' of this parameter; method or constructor that has this parameter as member of its argument list.

Returns:
Owner (member or creator) object of this parameter

getIndex

public int getIndex()
Accessor for index of this parameter within argument list

Returns:
Index of this parameter within argument list

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2012 fasterxml.com. All Rights Reserved.