public class HandlerMethod extends Object
method
and a bean
. Provides convenient access to method parameters,
method return value, method annotations.
The class may be created with a bean instance or with a bean name (e.g. lazy bean,
prototype bean). Use createWithResolvedBean()
to obtain an HandlerMethod
instance with a bean instance initialized through the bean factory.
Modifier and Type | Field and Description |
---|---|
protected Log |
logger
Logger that is available to subclasses
|
Modifier | Constructor and Description |
---|---|
protected |
HandlerMethod(HandlerMethod handlerMethod)
Copy constructor for use in sub-classes.
|
|
HandlerMethod(Object bean,
Method method)
Create an instance from a bean instance and a method.
|
|
HandlerMethod(Object bean,
String methodName,
Class<?>... parameterTypes)
Create an instance from a bean instance, method name, and parameter types.
|
|
HandlerMethod(String beanName,
BeanFactory beanFactory,
Method method)
Create an instance from a bean name, a method, and a
BeanFactory . |
Modifier and Type | Method and Description |
---|---|
HandlerMethod |
createWithResolvedBean()
If the provided instance contains a bean name rather than an object instance, the bean name is resolved
before a
HandlerMethod is created and returned. |
boolean |
equals(Object obj) |
Object |
getBean()
Returns the bean for this handler method.
|
Class<?> |
getBeanType()
Returns the type of the handler for this handler method.
|
protected Method |
getBridgedMethod()
If the bean method is a bridge method, this method returns the bridged (user-defined) method.
|
Method |
getMethod()
Returns the method for this handler method.
|
<A extends Annotation> |
getMethodAnnotation(Class<A> annotationType)
Returns a single annotation on the underlying method traversing its super methods if no
annotation can be found on the given method itself.
|
MethodParameter[] |
getMethodParameters()
Returns the method parameters for this handler method.
|
MethodParameter |
getReturnType()
Return the HandlerMethod return type.
|
MethodParameter |
getReturnValueType(Object returnValue)
Return the actual return value type.
|
int |
hashCode() |
boolean |
isVoid()
Returns
true if the method return type is void, false otherwise. |
String |
toString() |
protected final Log logger
public HandlerMethod(Object bean, Method method)
public HandlerMethod(Object bean, String methodName, Class<?>... parameterTypes) throws NoSuchMethodException
NoSuchMethodException
- when the method cannot be foundpublic HandlerMethod(String beanName, BeanFactory beanFactory, Method method)
BeanFactory
.
The method createWithResolvedBean()
may be used later to
re-create the HandlerMethod
with an initialized the bean.protected HandlerMethod(HandlerMethod handlerMethod)
public Object getBean()
public Method getMethod()
public Class<?> getBeanType()
protected Method getBridgedMethod()
getMethod()
.public MethodParameter[] getMethodParameters()
public MethodParameter getReturnType()
public MethodParameter getReturnValueType(Object returnValue)
public boolean isVoid()
true
if the method return type is void, false
otherwise.public <A extends Annotation> A getMethodAnnotation(Class<A> annotationType)
annotationType
- the type of annotation to introspect the method for.null
if none foundpublic HandlerMethod createWithResolvedBean()
HandlerMethod
is created and returned.