org.apache.camel.util
Class IntrospectionSupport

java.lang.Object
  extended by org.apache.camel.util.IntrospectionSupport

public final class IntrospectionSupport
extends Object

Helper for introspections of beans.


Method Summary
static Map<String,Object> extractProperties(Map<String,Object> properties, String optionPrefix)
           
static Set<Method> findSetterMethods(Class<?> clazz, String name, boolean allowBuilderPattern)
           
protected static List<Method> findSetterMethodsOrderedByParameterType(Class<?> target, String propertyName, boolean allowBuilderPattern)
           
static String getGetterShorthandName(Method method)
           
static boolean getProperties(Object target, Map<String,Object> properties, String optionPrefix)
          Will inspect the target for properties.
static Object getProperty(Object target, String property)
           
static Method getPropertyGetter(Class<?> type, String propertyName)
           
static Method getPropertySetter(Class<?> type, String propertyName)
           
static String getSetterShorthandName(Method method)
           
static boolean hasProperties(Map<String,Object> properties, String optionPrefix)
           
static boolean hasSetter(Object target, Method getter)
           
static boolean isGetter(Method method)
           
static boolean isPropertyIsGetter(Class<?> type, String propertyName)
           
static boolean isSetter(Method method)
           
static boolean isSetter(Method method, boolean allowBuilderPattern)
           
static boolean setProperties(Object target, Map<String,Object> properties)
           
static boolean setProperties(Object target, Map<String,Object> properties, String optionPrefix)
           
static boolean setProperties(Object target, Map<String,Object> properties, String optionPrefix, boolean allowBuilderPattern)
           
static boolean setProperties(TypeConverter typeConverter, Object target, Map<String,Object> properties)
           
static boolean setProperty(CamelContext context, TypeConverter typeConverter, Object target, String name, Object value, String refName, boolean allowBuilderPattern)
          This method supports two modes to set a property: 1.
static boolean setProperty(Object target, String name, Object value)
           
static boolean setProperty(Object target, String name, Object value, boolean allowBuilderPattern)
           
static boolean setProperty(TypeConverter typeConverter, Object target, String name, Object value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

isGetter

public static boolean isGetter(Method method)

getGetterShorthandName

public static String getGetterShorthandName(Method method)

getSetterShorthandName

public static String getSetterShorthandName(Method method)

isSetter

public static boolean isSetter(Method method,
                               boolean allowBuilderPattern)

isSetter

public static boolean isSetter(Method method)

getProperties

public static boolean getProperties(Object target,
                                    Map<String,Object> properties,
                                    String optionPrefix)
Will inspect the target for properties.

Notice a property must have both a getter/setter method to be included.

Parameters:
target - the target bean
properties - the map to fill in found properties
optionPrefix - an optional prefix to append the property key
Returns:
true if any properties was found, false otherwise.

hasSetter

public static boolean hasSetter(Object target,
                                Method getter)

hasProperties

public static boolean hasProperties(Map<String,Object> properties,
                                    String optionPrefix)

getProperty

public static Object getProperty(Object target,
                                 String property)
                          throws NoSuchMethodException,
                                 IllegalAccessException,
                                 InvocationTargetException
Throws:
NoSuchMethodException
IllegalAccessException
InvocationTargetException

getPropertyGetter

public static Method getPropertyGetter(Class<?> type,
                                       String propertyName)
                                throws NoSuchMethodException
Throws:
NoSuchMethodException

getPropertySetter

public static Method getPropertySetter(Class<?> type,
                                       String propertyName)
                                throws NoSuchMethodException
Throws:
NoSuchMethodException

isPropertyIsGetter

public static boolean isPropertyIsGetter(Class<?> type,
                                         String propertyName)

setProperties

public static boolean setProperties(Object target,
                                    Map<String,Object> properties,
                                    String optionPrefix,
                                    boolean allowBuilderPattern)
                             throws Exception
Throws:
Exception

setProperties

public static boolean setProperties(Object target,
                                    Map<String,Object> properties,
                                    String optionPrefix)
                             throws Exception
Throws:
Exception

extractProperties

public static Map<String,Object> extractProperties(Map<String,Object> properties,
                                                   String optionPrefix)

setProperties

public static boolean setProperties(TypeConverter typeConverter,
                                    Object target,
                                    Map<String,Object> properties)
                             throws Exception
Throws:
Exception

setProperties

public static boolean setProperties(Object target,
                                    Map<String,Object> properties)
                             throws Exception
Throws:
Exception

setProperty

public static boolean setProperty(CamelContext context,
                                  TypeConverter typeConverter,
                                  Object target,
                                  String name,
                                  Object value,
                                  String refName,
                                  boolean allowBuilderPattern)
                           throws Exception
This method supports two modes to set a property: 1. Setting a property that has already been resolved, this is the case when context and refName are NULL and value is non-NULL. 2. Setting a property that has not yet been resolved, the property will be resolved based on the suitable methods found matching the property name on the target bean. For this mode to be triggered the parameters context and refName must NOT be NULL, and value MUST be NULL.

Throws:
Exception

setProperty

public static boolean setProperty(TypeConverter typeConverter,
                                  Object target,
                                  String name,
                                  Object value)
                           throws Exception
Throws:
Exception

setProperty

public static boolean setProperty(Object target,
                                  String name,
                                  Object value,
                                  boolean allowBuilderPattern)
                           throws Exception
Throws:
Exception

setProperty

public static boolean setProperty(Object target,
                                  String name,
                                  Object value)
                           throws Exception
Throws:
Exception

findSetterMethods

public static Set<Method> findSetterMethods(Class<?> clazz,
                                            String name,
                                            boolean allowBuilderPattern)

findSetterMethodsOrderedByParameterType

protected static List<Method> findSetterMethodsOrderedByParameterType(Class<?> target,
                                                                      String propertyName,
                                                                      boolean allowBuilderPattern)


Apache CAMEL