Class BeanUtil

java.lang.Object
com.twelvemonkeys.lang.BeanUtil

public final class BeanUtil extends Object
A utility class with some useful bean-related functions.

NOTE: This class is not considered part of the public API and may be changed without notice

Version:
$Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-core/src/main/java/com/twelvemonkeys/lang/BeanUtil.java#2 $
Author:
Harald Kuhr, last modified by $Author: haku $
  • Method Details

    • getPropertyValue

      public static Object getPropertyValue(Object pObject, String pProperty)
      Gets a property value from the given object, using reflection. Now supports getting values from properties of properties (recursive).
      Parameters:
      pObject - The object to get the property from
      pProperty - The name of the property
      Returns:
      A string containing the value of the given property, or null if it can not be found.
    • setPropertyValue

      public static void setPropertyValue(Object pObject, String pProperty, Object pValue) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException
      Sets the property value to an object using reflection. Supports setting values of properties that are properties of properties (recursive).
      Parameters:
      pObject - The object to get a property from
      pProperty - The name of the property
      pValue - The property value
      Throws:
      NoSuchMethodException - if there's no write method for the given property
      InvocationTargetException - if invoking the write method failed
      IllegalAccessException - if the caller class has no access to the write method
    • createInstance

      public static <T> T createInstance(Class<T> pClass, Object pParam) throws InvocationTargetException
      Creates an object from the given class' single argument constructor.
      Parameters:
      pClass - The class to create instance from
      pParam - The parameters to the constructor
      Returns:
      The object created from the constructor. If the constructor could not be invoked for any reason, null is returned.
      Throws:
      InvocationTargetException - if the constructor failed
    • createInstance

      public static <T> T createInstance(Class<T> pClass, Object... pParams) throws InvocationTargetException
      Creates an object from the given class' constructor that matches the given paramaters.
      Parameters:
      pClass - The class to create instance from
      pParams - The parameters to the constructor
      Returns:
      The object created from the constructor. If the constructor could not be invoked for any reason, null is returned.
      Throws:
      InvocationTargetException - if the constructor failed
    • invokeStaticMethod

      public static Object invokeStaticMethod(Class<?> pClass, String pMethod, Object pParam) throws InvocationTargetException
      Gets an object from any given static method, with the given parameter.
      Parameters:
      pClass - The class to invoke method on
      pMethod - The name of the method to invoke
      pParam - The parameter to the method
      Returns:
      The object returned by the static method. If the return type of the method is a primitive type, it is wrapped in the corresponding wrapper object (int is wrapped in an Integer). If the return type of the method is void, null is returned. If the method could not be invoked for any reason, null is returned.
      Throws:
      InvocationTargetException - if the invocation failed
    • invokeStaticMethod

      public static Object invokeStaticMethod(Class<?> pClass, String pMethod, Object... pParams) throws InvocationTargetException
      Gets an object from any given static method, with the given parameter.
      Parameters:
      pClass - The class to invoke method on
      pMethod - The name of the method to invoke
      pParams - The parameters to the method
      Returns:
      The object returned by the static method. If the return type of the method is a primitive type, it is wrapped in the corresponding wrapper object (int is wrapped in an Integer). If the return type of the method is void, null is returned. If the method could not be invoked for any reason, null is returned.
      Throws:
      InvocationTargetException - if the invocation failed
    • configure

      public static void configure(Object pBean, Map<String,?> pMapping) throws InvocationTargetException
      Configures the bean according to the given mapping. For each Map.Entry in Map.values(), a method named set + capitalize(entry.getKey()) is called on the bean, with entry.getValue() as its argument.

      Properties that has no matching set-method in the bean, are simply discarded.

      Parameters:
      pBean - The bean to configure
      pMapping - The mapping for the bean
      Throws:
      NullPointerException - if any of the parameters are null.
      InvocationTargetException - if an error occurs when invoking the setter-method.
    • configure

      public static void configure(Object pBean, Map<String,?> pMapping, boolean pLispToCamel) throws InvocationTargetException
      Configures the bean according to the given mapping. For each Map.Entry in Map.values(), a method named set + capitalize(entry.getKey()) is called on the bean, with entry.getValue() as its argument.

      Optionally, lisp-style names are allowed, and automatically converted to Java-style camel-case names.

      Properties that has no matching set-method in the bean, are simply discarded.

      Parameters:
      pBean - The bean to configure
      pMapping - The mapping for the bean
      pLispToCamel - Allow lisp-style names, and automatically convert them to Java-style camel-case.
      Throws:
      NullPointerException - if any of the parameters are null.
      InvocationTargetException - if an error occurs when invoking the setter-method.
      See Also: