Package org.apache.camel.component.bean
Class BeanInfo
java.lang.Object
org.apache.camel.component.bean.BeanInfo
Represents the metadata about a bean type created via a combination of introspection and annotations together with
some useful sensible defaults
-
Constructor Summary
ConstructorDescriptionBeanInfo
(org.apache.camel.CamelContext camelContext, Class<?> type, Method explicitMethod, ParameterMappingStrategy strategy, BeanComponent beanComponent) BeanInfo
(org.apache.camel.CamelContext camelContext, Class<?> type, ParameterMappingStrategy strategy, BeanComponent beanComponent) BeanInfo
(org.apache.camel.CamelContext camelContext, Method explicitMethod, ParameterMappingStrategy parameterMappingStrategy, BeanComponent beanComponent) -
Method Summary
Modifier and TypeMethodDescriptionprotected MethodInfo
chooseMethod
(Object pojo, org.apache.camel.Exchange exchange, String name) Choose one of the available methods to invoke if we can match the message body to the body parameterprotected List<Annotation>[]
collectParameterAnnotations
(Class<?> c, Method m) protected void
collectParameterAnnotations
(Class<?> c, Method m, List<Annotation>[] a) createInvocation
(Object pojo, org.apache.camel.Exchange exchange) protected MethodInfo
createMethodInfo
(Class<?> clazz, Method method) org.apache.camel.CamelContext
static String
getGetterShorthandName
(Method method) getMethodInfo
(Method method) Returns theMethodInfo
for the given method if it exists or null if there is no metadata available for the given methodGets the list of methods sorted by A..Z method name.Class<?>
getType()
boolean
Does any of the methods have a Canel @Handler annotation.boolean
Do we have a method with the given name.boolean
Returns whether the bean class has any public constructors.boolean
Returns whether the bean class has any public no-arg constructors.boolean
hasStaticMethod
(String methodName) Do we have a static method with the given name.static boolean
static boolean
protected boolean
isValidMethod
(Class<?> clazz, Method method) Validates whether the given method is a valid candidate for Camel Bean Binding.
-
Constructor Details
-
BeanInfo
-
BeanInfo
public BeanInfo(org.apache.camel.CamelContext camelContext, Method explicitMethod, ParameterMappingStrategy parameterMappingStrategy, BeanComponent beanComponent) -
BeanInfo
public BeanInfo(org.apache.camel.CamelContext camelContext, Class<?> type, ParameterMappingStrategy strategy, BeanComponent beanComponent) -
BeanInfo
public BeanInfo(org.apache.camel.CamelContext camelContext, Class<?> type, Method explicitMethod, ParameterMappingStrategy strategy, BeanComponent beanComponent)
-
-
Method Details
-
getType
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext() -
createInvocation
public MethodInvocation createInvocation(Object pojo, org.apache.camel.Exchange exchange) throws AmbiguousMethodCallException, MethodNotFoundException -
getMethodInfo
Returns theMethodInfo
for the given method if it exists or null if there is no metadata available for the given method -
createMethodInfo
-
collectParameterAnnotations
-
collectParameterAnnotations
-
chooseMethod
protected MethodInfo chooseMethod(Object pojo, org.apache.camel.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 onexchange
- the message exchangename
- 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
Validates whether the given method is a valid candidate for Camel Bean Binding.- Parameters:
clazz
- the classmethod
- the method- Returns:
- true if valid, false to skip the method
-
hasMethod
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
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.
-
hasPublicConstructors
public boolean hasPublicConstructors()Returns whether the bean class has any public constructors. -
hasPublicNoArgConstructors
public boolean hasPublicNoArgConstructors()Returns whether the bean class has any public no-arg constructors. -
getMethods
Gets the list of methods sorted by A..Z method name.- Returns:
- the methods.
-
hasAnyMethodHandlerAnnotation
public boolean hasAnyMethodHandlerAnnotation()Does any of the methods have a Canel @Handler annotation. -
isGetter
-
isSetter
-
getGetterShorthandName
-