org.apache.camel.component.bean
Class BeanInfo

java.lang.Object
  extended by org.apache.camel.component.bean.BeanInfo

public class BeanInfo
extends Object

Represents the metadata about a bean type created via a combination of introspection and annotations together with some useful sensible defaults

Version:

Constructor Summary
BeanInfo(CamelContext camelContext, Class<?> type)
           
BeanInfo(CamelContext camelContext, Class<?> type, Method explicitMethod, ParameterMappingStrategy strategy)
           
BeanInfo(CamelContext camelContext, Class<?> type, ParameterMappingStrategy strategy)
           
BeanInfo(CamelContext camelContext, Method explicitMethod)
           
 
Method Summary
protected  MethodInfo chooseMethod(Object pojo, Exchange exchange, String name)
          Choose one of the available methods to invoke if we can match the message body to the body parameter
protected  List<Annotation>[] collectParameterAnnotations(Class<?> c, Method m)
           
protected  void collectParameterAnnotations(Class<?> c, Method m, List<Annotation>[] a)
           
 MethodInvocation createInvocation(Object pojo, Exchange exchange)
           
protected  MethodInfo createMethodInfo(Class<?> clazz, Method method)
           
static ParameterMappingStrategy createParameterMappingStrategy(CamelContext camelContext)
           
 CamelContext getCamelContext()
           
 MethodInfo getMethodInfo(Method method)
          Returns the MethodInfo for the given method if it exists or null if there is no metadata available for the given method
 List<MethodInfo> getMethods()
          Gets the list of methods sorted by A..Z method name.
 Class<?> getType()
           
 boolean hasMethod(String methodName)
          Do we have a method with the given name.
 boolean hasStaticMethod(String methodName)
          Do we have a static method with the given name.
protected  boolean isValidMethod(Class<?> clazz, Method method)
          Validates whether the given method is a valid candidate for Camel Bean Binding.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BeanInfo

public BeanInfo(CamelContext camelContext,
                Class<?> type)

BeanInfo

public BeanInfo(CamelContext camelContext,
                Method explicitMethod)

BeanInfo

public BeanInfo(CamelContext camelContext,
                Class<?> type,
                ParameterMappingStrategy strategy)

BeanInfo

public BeanInfo(CamelContext camelContext,
                Class<?> type,
                Method explicitMethod,
                ParameterMappingStrategy strategy)
Method Detail

getType

public Class<?> getType()

getCamelContext

public CamelContext getCamelContext()

createParameterMappingStrategy

public static ParameterMappingStrategy createParameterMappingStrategy(CamelContext camelContext)

createInvocation

public MethodInvocation createInvocation(Object pojo,
                                         Exchange exchange)
                                  throws AmbiguousMethodCallException,
                                         MethodNotFoundException
Throws:
AmbiguousMethodCallException
MethodNotFoundException

getMethodInfo

public MethodInfo getMethodInfo(Method method)
Returns the MethodInfo for the given method if it exists or null if there is no metadata available for the given method


createMethodInfo

protected MethodInfo createMethodInfo(Class<?> clazz,
                                      Method method)

collectParameterAnnotations

protected List<Annotation>[] collectParameterAnnotations(Class<?> c,
                                                         Method m)

collectParameterAnnotations

protected void collectParameterAnnotations(Class<?> c,
                                           Method m,
                                           List<Annotation>[] a)

chooseMethod

protected MethodInfo chooseMethod(Object pojo,
                                  Exchange exchange,
                                  String name)
                           throws AmbiguousMethodCallException
Choose one of the available methods to invoke if we can match the message body to the body parameter

Parameters:
pojo - the bean to invoke a method on
exchange - the message exchange
name - an optional name of the method that must match, use null to indicate all methods
Returns:
the method to invoke or null if no definitive method could be matched
Throws:
AmbiguousMethodCallException - is thrown if cannot choose method due to ambiguity

isValidMethod

protected boolean isValidMethod(Class<?> clazz,
                                Method method)
Validates whether the given method is a valid candidate for Camel Bean Binding.

Parameters:
clazz - the class
method - the method
Returns:
true if valid, false to skip the method

hasMethod

public boolean hasMethod(String methodName)
Do we have a method with the given name.

Shorthand method names for getters is supported, so you can pass in eg 'name' and Camel will can find the real 'getName' method instead.

Parameters:
methodName - the method name
Returns:
true if we have such a method.

hasStaticMethod

public boolean hasStaticMethod(String methodName)
Do we have a static method with the given name.

Shorthand method names for getters is supported, so you can pass in eg 'name' and Camel will can find the real 'getName' method instead.

Parameters:
methodName - the method name
Returns:
true if we have such a static method.

getMethods

public List<MethodInfo> getMethods()
Gets the list of methods sorted by A..Z method name.

Returns:
the methods.


Apache CAMEL