Class AnnotatedMethod
- java.lang.Object
-
- org.codehaus.jackson.map.introspect.Annotated
-
- org.codehaus.jackson.map.introspect.AnnotatedMember
-
- org.codehaus.jackson.map.introspect.AnnotatedWithParams
-
- org.codehaus.jackson.map.introspect.AnnotatedMethod
-
public final class AnnotatedMethod extends AnnotatedWithParams
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.reflect.Method_methodprotected java.lang.Class<?>[]_paramTypes-
Fields inherited from class org.codehaus.jackson.map.introspect.AnnotatedWithParams
_paramAnnotations
-
Fields inherited from class org.codehaus.jackson.map.introspect.AnnotatedMember
_annotations
-
-
Constructor Summary
Constructors Constructor Description AnnotatedMethod(java.lang.reflect.Method method, AnnotationMap classAnn, AnnotationMap[] paramAnnotations)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectcall()Method that can be used to (try to) call this object without arguments.java.lang.Objectcall(java.lang.Object[] args)Method that can be used to (try to) call this object with specified arguments.java.lang.Objectcall1(java.lang.Object arg)Method that can be used to (try to) call this object with single arguments.java.lang.reflect.MethodgetAnnotated()Method that can be used to find actual JDK element that this instance represents.java.lang.Class<?>getDeclaringClass()java.lang.StringgetFullName()java.lang.reflect.TypegetGenericType()For methods, this returns declared return type, which is only useful with getters (setters do not return anything; hence "void" type is returned here)java.lang.reflect.MembergetMember()intgetModifiers()java.lang.StringgetName()java.lang.Class<?>getParameterClass(int index)java.lang.Class<?>[]getParameterClasses()intgetParameterCount()java.lang.reflect.TypegetParameterType(int index)java.lang.reflect.Type[]getParameterTypes()java.lang.Class<?>getRawType()For methods, this returns declared return type, which is only useful with getters (setters do not return anything; hence "void" type is returned here)JavaTypegetType(TypeBindings bindings)As per [JACKSON-468], we need to also allow declaration of local type bindings; mostly it will allow defining bounds.voidsetValue(java.lang.Object pojo, java.lang.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.java.lang.StringtoString()AnnotatedMethodwithAnnotations(AnnotationMap ann)Fluent factory method that will construct a new instance that uses specified instance annotations instead of currently configured ones.AnnotatedMethodwithMethod(java.lang.reflect.Method m)Method that constructs a new instance with settings (annotations, parameter annotations) of this instance, but with different physicalMethod.-
Methods inherited from class org.codehaus.jackson.map.introspect.AnnotatedWithParams
addIfNotPresent, addOrOverride, addOrOverrideParam, getAnnotation, getAnnotationCount, getParameter, getParameterAnnotations, getType, replaceParameterAnnotations, resolveParameterType
-
Methods inherited from class org.codehaus.jackson.map.introspect.AnnotatedMember
fixAccess, getAllAnnotations
-
Methods inherited from class org.codehaus.jackson.map.introspect.Annotated
hasAnnotation, isPublic, withFallBackAnnotationsFrom
-
-
-
-
Constructor Detail
-
AnnotatedMethod
public AnnotatedMethod(java.lang.reflect.Method method, AnnotationMap classAnn, AnnotationMap[] paramAnnotations)
-
-
Method Detail
-
withMethod
public AnnotatedMethod withMethod(java.lang.reflect.Method m)
Method that constructs a new instance with settings (annotations, parameter annotations) of this instance, but with different physicalMethod.- Since:
- 1.7
-
withAnnotations
public AnnotatedMethod withAnnotations(AnnotationMap ann)
Description copied from class:AnnotatedFluent factory method that will construct a new instance that uses specified instance annotations instead of currently configured ones.- Specified by:
withAnnotationsin classAnnotated
-
getAnnotated
public java.lang.reflect.Method getAnnotated()
Description copied from class:AnnotatedMethod 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:
getAnnotatedin classAnnotated
-
getModifiers
public int getModifiers()
- Specified by:
getModifiersin classAnnotated
-
getGenericType
public java.lang.reflect.Type getGenericType()
For methods, this returns declared return type, which is only useful with getters (setters do not return anything; hence "void" type is returned here)- Specified by:
getGenericTypein classAnnotated
-
getRawType
public java.lang.Class<?> getRawType()
For methods, this returns declared return type, which is only useful with getters (setters do not return anything; hence "void" type is returned here)- Specified by:
getRawTypein classAnnotated
-
getType
public JavaType getType(TypeBindings bindings)
As per [JACKSON-468], we need to also allow declaration of local type bindings; mostly it will allow defining bounds.
-
call
public final java.lang.Object call() throws java.lang.ExceptionDescription copied from class:AnnotatedWithParamsMethod that can be used to (try to) call this object without arguments. This may succeed or fail, depending on expected number of arguments: caller needs to take care to pass correct number. Exceptions are thrown directly from actual low-level call.Note: only works for constructors and static methods.
- Specified by:
callin classAnnotatedWithParams- Throws:
java.lang.Exception
-
call
public final java.lang.Object call(java.lang.Object[] args) throws java.lang.ExceptionDescription copied from class:AnnotatedWithParamsMethod that can be used to (try to) call this object with specified arguments. This may succeed or fail, depending on expected number of arguments: caller needs to take care to pass correct number. Exceptions are thrown directly from actual low-level call.Note: only works for constructors and static methods.
- Specified by:
callin classAnnotatedWithParams- Throws:
java.lang.Exception
-
call1
public final java.lang.Object call1(java.lang.Object arg) throws java.lang.ExceptionDescription copied from class:AnnotatedWithParamsMethod that can be used to (try to) call this object with single arguments. This may succeed or fail, depending on expected number of arguments: caller needs to take care to pass correct number. Exceptions are thrown directly from actual low-level call.Note: only works for constructors and static methods.
- Specified by:
call1in classAnnotatedWithParams- Throws:
java.lang.Exception
-
getDeclaringClass
public java.lang.Class<?> getDeclaringClass()
- Specified by:
getDeclaringClassin classAnnotatedMember
-
getMember
public java.lang.reflect.Member getMember()
- Specified by:
getMemberin classAnnotatedMember
-
setValue
public void setValue(java.lang.Object pojo, java.lang.Object value) throws java.lang.IllegalArgumentExceptionDescription copied from class:AnnotatedMemberOptional 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 fiedlds and single-argument methods; but not for constructor parameters or other types of methods.
- Specified by:
setValuein classAnnotatedMember- Throws:
java.lang.IllegalArgumentException
-
getParameterCount
public int getParameterCount()
- Specified by:
getParameterCountin classAnnotatedWithParams
-
getParameterTypes
public java.lang.reflect.Type[] getParameterTypes()
-
getParameterClass
public java.lang.Class<?> getParameterClass(int index)
- Specified by:
getParameterClassin classAnnotatedWithParams
-
getParameterType
public java.lang.reflect.Type getParameterType(int index)
- Specified by:
getParameterTypein classAnnotatedWithParams
-
getParameterClasses
public java.lang.Class<?>[] getParameterClasses()
-
getFullName
public java.lang.String getFullName()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-