Class 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
    • Method Detail

      • getType

        public Class<?> getType()
      • getCamelContext

        public org.apache.camel.CamelContext getCamelContext()
      • 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
      • 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 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.
      • 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

        public List<MethodInfo> 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

        public static boolean isGetter​(Method method)
      • isSetter

        public static boolean isSetter​(Method method)
      • getGetterShorthandName

        public static String getGetterShorthandName​(Method method)