org.codehaus.jackson.map.introspect
Class AnnotatedConstructor

java.lang.Object
  extended by org.codehaus.jackson.map.introspect.Annotated
      extended by org.codehaus.jackson.map.introspect.AnnotatedMember
          extended by org.codehaus.jackson.map.introspect.AnnotatedWithParams
              extended by org.codehaus.jackson.map.introspect.AnnotatedConstructor

public final class AnnotatedConstructor
extends AnnotatedWithParams


Field Summary
protected  Constructor<?> _constructor
           
 
Fields inherited from class org.codehaus.jackson.map.introspect.AnnotatedWithParams
_paramAnnotations
 
Fields inherited from class org.codehaus.jackson.map.introspect.AnnotatedMember
_annotations
 
Constructor Summary
AnnotatedConstructor(Constructor<?> constructor, AnnotationMap classAnn, AnnotationMap[] paramAnn)
           
 
Method Summary
 Object call()
          Method that can be used to (try to) call this object without arguments.
 Object call(Object[] args)
          Method that can be used to (try to) call this object with specified arguments.
 Object call1(Object arg)
          Method that can be used to (try to) call this object with single arguments.
 Constructor<?> getAnnotated()
          Method that can be used to find actual JDK element that this instance represents.
 Class<?> getDeclaringClass()
           
 Type getGenericType()
          Full generic type of the annotated element; definition of what exactly this means depends on sub-class.
 Member getMember()
           
 int getModifiers()
           
 String getName()
           
 Class<?> getParameterClass(int index)
           
 int getParameterCount()
           
 Type getParameterType(int index)
           
 Class<?> getRawType()
          "Raw" type (type-erased class) of the annotated element; definition of what exactly this means depends on sub-class.
 JavaType getType(TypeBindings bindings)
          As per [JACKSON-468], we need to also allow declaration of local type bindings; mostly it will allow defining bounds.
 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()
           
 AnnotatedConstructor 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 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_constructor

protected final Constructor<?> _constructor
Constructor Detail

AnnotatedConstructor

public AnnotatedConstructor(Constructor<?> constructor,
                            AnnotationMap classAnn,
                            AnnotationMap[] paramAnn)
Method Detail

withAnnotations

public AnnotatedConstructor 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 Constructor<?> 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

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

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.

Overrides:
getType in class Annotated

getParameterCount

public int getParameterCount()
Specified by:
getParameterCount in class AnnotatedWithParams

getParameterClass

public Class<?> getParameterClass(int index)
Specified by:
getParameterClass in class AnnotatedWithParams

getParameterType

public Type getParameterType(int index)
Specified by:
getParameterType in class AnnotatedWithParams

call

public final Object call()
                  throws Exception
Description copied from class: AnnotatedWithParams
Method 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:
call in class AnnotatedWithParams
Throws:
Exception

call

public final Object call(Object[] args)
                  throws Exception
Description copied from class: AnnotatedWithParams
Method 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:
call in class AnnotatedWithParams
Throws:
Exception

call1

public final Object call1(Object arg)
                   throws Exception
Description copied from class: AnnotatedWithParams
Method 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:
call1 in class AnnotatedWithParams
Throws:
Exception

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 fiedlds and single-argument methods; but not for constructor parameters or other types of methods.

Specified by:
setValue in class AnnotatedMember
Throws:
UnsupportedOperationException

toString

public String toString()
Overrides:
toString in class Object