jodd.bean
Class BeanUtil

java.lang.Object
  extended by jodd.bean.BeanUtil

public class BeanUtil
extends Object

Supreme utility for reading and writing bean properties. However, this one is the fastest available. Although it provides various methods, the whole thing can be easily extended to match most needs.

BeanUtil supports:

Variants includes combinations of forced, declared and silent writing.

This utility considers both bean property methods (set and get accessors), and bean fields. This is done because of several reasons: often there is no need for both set/get accessors, since bean logic requires just one functionality (e.g. just reading). In such case, other bean manipulation libraries still requires to have both accessors in order to set or get value. Another reason is that most common usage is to work with public accessors, and in that case private fields are ignored.

See Also:
BeanUtilUtil, BeanTool

Constructor Summary
BeanUtil()
           
 
Method Summary
static String extractThisReference(String propertyName)
          Extract the first name of this reference.
static Object getDeclaredProperty(Object bean, String name)
          Returns value of declared bean's property.
static Object getDeclaredPropertySilently(Object bean, String name)
          Silently returns value of declared bean's property.
static Class getDeclaredPropertyType(Object bean, String name)
           
static BeanUtilBean getDefaultBeanUtilBean()
          Returns default BeanUtilBean.
static Object getProperty(Object bean, String name)
          Returns value of bean's property.
static Object getPropertySilently(Object bean, String name)
          Silently returns value of bean's property.
static Class getPropertyType(Object bean, String name)
           
static boolean hasDeclaredProperty(Object bean, String name)
           
static boolean hasProperty(Object bean, String name)
           
static void populateBean(Object bean, Map<?,?> map)
           
static void populateProperty(Object bean, String name, List<?> list)
           
static void populateProperty(Object bean, String name, Map<?,?> map)
           
static void setDeclaredProperty(Object bean, String name, Object value)
          Sets declared Java Bean property.
static void setDeclaredPropertyForced(Object bean, String name, Object value)
          Sets declared Java Bean property forced.
static boolean setDeclaredPropertyForcedSilent(Object bean, String name, Object value)
          Silently sets declared Java Bean property forced.
static boolean setDeclaredPropertySilent(Object bean, String name, Object value)
          Silently sets declared Java Bean property.
static void setProperty(Object bean, String name, Object value)
          Sets Java Bean property.
static void setPropertyForced(Object bean, String name, Object value)
          Sets Java Bean property forced.
static boolean setPropertyForcedSilent(Object bean, String name, Object value)
          Sets Java Bean property forced, without throwing an exception on non-existing properties.
static boolean setPropertySilent(Object bean, String name, Object value)
          Sets Java Bean property silently, without throwing an exception on non-existing properties.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BeanUtil

public BeanUtil()
Method Detail

getDefaultBeanUtilBean

public static BeanUtilBean getDefaultBeanUtilBean()
Returns default BeanUtilBean.


setProperty

public static void setProperty(Object bean,
                               String name,
                               Object value)
Sets Java Bean property.


setPropertySilent

public static boolean setPropertySilent(Object bean,
                                        String name,
                                        Object value)
Sets Java Bean property silently, without throwing an exception on non-existing properties.


setPropertyForced

public static void setPropertyForced(Object bean,
                                     String name,
                                     Object value)
Sets Java Bean property forced.


setPropertyForcedSilent

public static boolean setPropertyForcedSilent(Object bean,
                                              String name,
                                              Object value)
Sets Java Bean property forced, without throwing an exception on non-existing properties.


setDeclaredProperty

public static void setDeclaredProperty(Object bean,
                                       String name,
                                       Object value)
Sets declared Java Bean property.


setDeclaredPropertySilent

public static boolean setDeclaredPropertySilent(Object bean,
                                                String name,
                                                Object value)
Silently sets declared Java Bean property.


setDeclaredPropertyForced

public static void setDeclaredPropertyForced(Object bean,
                                             String name,
                                             Object value)
Sets declared Java Bean property forced.


setDeclaredPropertyForcedSilent

public static boolean setDeclaredPropertyForcedSilent(Object bean,
                                                      String name,
                                                      Object value)
Silently sets declared Java Bean property forced.


getProperty

public static Object getProperty(Object bean,
                                 String name)
Returns value of bean's property.


getPropertySilently

public static Object getPropertySilently(Object bean,
                                         String name)
Silently returns value of bean's property. Return value null is ambiguous: it may means that property name is valid and property value is null or that property name is invalid.


getDeclaredProperty

public static Object getDeclaredProperty(Object bean,
                                         String name)
Returns value of declared bean's property.


getDeclaredPropertySilently

public static Object getDeclaredPropertySilently(Object bean,
                                                 String name)
Silently returns value of declared bean's property. Return value null is ambiguous: it may means that property name is valid and property value is null or that property name is invalid.


hasProperty

public static boolean hasProperty(Object bean,
                                  String name)

hasDeclaredProperty

public static boolean hasDeclaredProperty(Object bean,
                                          String name)

getPropertyType

public static Class getPropertyType(Object bean,
                                    String name)

getDeclaredPropertyType

public static Class getDeclaredPropertyType(Object bean,
                                            String name)

populateBean

public static void populateBean(Object bean,
                                Map<?,?> map)

populateProperty

public static void populateProperty(Object bean,
                                    String name,
                                    Map<?,?> map)

populateProperty

public static void populateProperty(Object bean,
                                    String name,
                                    List<?> list)

extractThisReference

public static String extractThisReference(String propertyName)
Extract the first name of this reference.