com.jgoodies.binding.beans

Class BeanUtils


public final class BeanUtils
extends java.lang.Object

Consists exclusively of static methods that provide convenience behavior for working with Java Bean properties.
Version:
$Revision: 1.8 $
Author:
Karsten Lentzsch
See Also:
Introspector, BeanInfo, PropertyDescriptor

Method Summary

static void
addPropertyChangeListener(Object bean, Class beanClass, PropertyChangeListener listener)
Adds a property change listener to the given bean.
static void
addPropertyChangeListener(Object bean, Class beanClass, String propertyName, PropertyChangeListener listener)
Adds a named property change listener to the given bean.
static void
addPropertyChangeListener(Object bean, PropertyChangeListener listener)
Adds a property change listener to the given bean.
static void
addPropertyChangeListener(Object bean, String propertyName, PropertyChangeListener listener)
Adds a named property change listener to the given bean.
static Method
getNamedPCLAdder(Class clazz)
Looks up and returns the method that adds a PropertyChangeListener for a specified property name to instances of the given class.
static Method
getNamedPCLRemover(Class clazz)
Looks up and returns the method that removes a PropertyChangeListener for a specified property name from instances of the given class.
static Method
getPCLAdder(Class clazz)
Looks up and returns the method that adds a multicast PropertyChangeListener to instances of the given class.
static Method
getPCLRemover(Class clazz)
Looks up and returns the method that removes a multicast PropertyChangeListener from instances of the given class.
static PropertyDescriptor
getPropertyDescriptor(Class beanClass, String propertyName)
Looks up and returns a PropertyDescriptor for the given Java Bean class and property name using the standard Java Bean introspection behavior.
static PropertyDescriptor
getPropertyDescriptor(Class beanClass, String propertyName, String getterName, String setterName)
Looks up and returns a PropertyDescriptor for the given Java Bean class and property name.
static Object
getValue(Object bean, PropertyDescriptor propertyDescriptor)
Returns the value of the specified property of the given non-null bean.
static void
removePropertyChangeListener(Object bean, Class beanClass, PropertyChangeListener listener)
Removes a property change listener from the given bean.
static void
removePropertyChangeListener(Object bean, Class beanClass, String propertyName, PropertyChangeListener listener)
Removes a named property change listener from the given bean.
static void
removePropertyChangeListener(Object bean, PropertyChangeListener listener)
Removes a property change listener from the given bean.
static void
removePropertyChangeListener(Object bean, String propertyName, PropertyChangeListener listener)
Removes a named property change listener from the given bean.
static void
setValue(Object bean, PropertyDescriptor propertyDescriptor, Object newValue)
Sets the given object as new value of the specified property of the given non-null bean.
static boolean
supportsBoundProperties(Class clazz)
Checks and answers whether the given class supports bound properties, i.e.

Method Details

addPropertyChangeListener

public static void addPropertyChangeListener(Object bean,
                                             Class beanClass,
                                             PropertyChangeListener listener)
Adds a property change listener to the given bean. First checks whether the bean supports bound properties, i.e. it provides a pair of methods to register multicast property change event listeners; see section 7.4.1 of the Java Beans specification for details.
Parameters:
bean - the bean to add the property change listener to
beanClass - the Bean class used to lookup methods from
listener - the listener to add
Since:
1.1.1

addPropertyChangeListener

public static void addPropertyChangeListener(Object bean,
                                             Class beanClass,
                                             String propertyName,
                                             PropertyChangeListener listener)
Parameters:
bean - the bean to add a property change handler
beanClass - the Bean class used to lookup methods from
propertyName - the name of the property to be observed
listener - the listener to add

addPropertyChangeListener

public static void addPropertyChangeListener(Object bean,
                                             PropertyChangeListener listener)
Adds a property change listener to the given bean. First checks whether the bean supports bound properties, i.e. it provides a pair of methods to register multicast property change event listeners; see section 7.4.1 of the Java Beans specification for details.
Parameters:
bean - the bean to add the property change listener to
listener - the listener to add

addPropertyChangeListener

public static void addPropertyChangeListener(Object bean,
                                             String propertyName,
                                             PropertyChangeListener listener)
Parameters:
bean - the bean to add a property change handler
propertyName - the name of the property to be observed
listener - the listener to add

getNamedPCLAdder

public static Method getNamedPCLAdder(Class clazz)
Looks up and returns the method that adds a PropertyChangeListener for a specified property name to instances of the given class.
Parameters:
clazz - the class that provides the adder method
Returns:
the method that adds the PropertyChangeListeners

getNamedPCLRemover

public static Method getNamedPCLRemover(Class clazz)
Looks up and returns the method that removes a PropertyChangeListener for a specified property name from instances of the given class.
Parameters:
clazz - the class that provides the remover method
Returns:
the method that removes the PropertyChangeListeners

getPCLAdder

public static Method getPCLAdder(Class clazz)
Looks up and returns the method that adds a multicast PropertyChangeListener to instances of the given class.
Parameters:
clazz - the class that provides the adder method
Returns:
the method that adds multicast PropertyChangeListeners

getPCLRemover

public static Method getPCLRemover(Class clazz)
Looks up and returns the method that removes a multicast PropertyChangeListener from instances of the given class.
Parameters:
clazz - the class that provides the remover method
Returns:
the method that removes multicast PropertyChangeListeners

getPropertyDescriptor

public static PropertyDescriptor getPropertyDescriptor(Class beanClass,
                                                       String propertyName)
            throws IntrospectionException
Looks up and returns a PropertyDescriptor for the given Java Bean class and property name using the standard Java Bean introspection behavior.
Parameters:
beanClass - the type of the bean that holds the property
propertyName - the name of the Bean property
Returns:
the PropertyDescriptor associated with the given bean and property name as returned by the Bean introspection
Since:
1.1.1

getPropertyDescriptor

public static PropertyDescriptor getPropertyDescriptor(Class beanClass,
                                                       String propertyName,
                                                       String getterName,
                                                       String setterName)
Looks up and returns a PropertyDescriptor for the given Java Bean class and property name. If a getter name or setter name is available, these are used to create a PropertyDescriptor. Otherwise, the standard Java Bean introspection is used to determine the property descriptor.
Parameters:
beanClass - the class of the bean that holds the property
propertyName - the name of the property to be accessed
getterName - the optional name of the property's getter
setterName - the optional name of the property's setter
Returns:
the PropertyDescriptor associated with the given bean and property name
Since:
1.1.1

getValue

public static Object getValue(Object bean,
                              PropertyDescriptor propertyDescriptor)
Returns the value of the specified property of the given non-null bean. This operation is unsupported if the bean property is read-only.

If the read access fails, a PropertyAccessException is thrown that provides the Throwable that caused the failure.

Parameters:
bean - the bean to read the value from
propertyDescriptor - describes the property to be read
Returns:
the bean's property value

removePropertyChangeListener

public static void removePropertyChangeListener(Object bean,
                                                Class beanClass,
                                                PropertyChangeListener listener)
Removes a property change listener from the given bean.
Parameters:
bean - the bean to remove the property change listener from
beanClass - the Java Bean class used to lookup methods from
listener - the listener to remove
Since:
1.1.1

removePropertyChangeListener

public static void removePropertyChangeListener(Object bean,
                                                Class beanClass,
                                                String propertyName,
                                                PropertyChangeListener listener)
Parameters:
bean - the bean to remove the property change listener from
beanClass - the Java Bean class used to lookup methods from
propertyName - the name of the observed property
listener - the listener to remove
Since:
1.1.1

removePropertyChangeListener

public static void removePropertyChangeListener(Object bean,
                                                PropertyChangeListener listener)
Removes a property change listener from the given bean.
Parameters:
bean - the bean to remove the property change listener from
listener - the listener to remove

removePropertyChangeListener

public static void removePropertyChangeListener(Object bean,
                                                String propertyName,
                                                PropertyChangeListener listener)
Parameters:
bean - the bean to remove the property change listener from
propertyName - the name of the observed property
listener - the listener to remove

setValue

public static void setValue(Object bean,
                            PropertyDescriptor propertyDescriptor,
                            Object newValue)
            throws PropertyVetoException
Sets the given object as new value of the specified property of the given non-null bean. This is unsupported if the bean property is read-only.

If the write access fails, a PropertyAccessException is thrown that provides the Throwable that caused the failure. If the bean property is constrained and a VetoableChangeListener has vetoed against the value change, the PropertyAccessException wraps the PropertyVetoException thrown by the setter.

Parameters:
bean - the bean that holds the adapted property
propertyDescriptor - describes the property to be set
newValue - the property value to be set

supportsBoundProperties

public static boolean supportsBoundProperties(Class clazz)
Checks and answers whether the given class supports bound properties, i.e. it provides a pair of multicast event listener registration methods for PropertyChangeListeners:
 public void addPropertyChangeListener(PropertyChangeListener x);
 public void removePropertyChangeListener(PropertyChangeListener x);
 
Parameters:
clazz - the class to test
Returns:
true if the class supports bound properties, false otherwise

Copyright © 2002-2007 JGoodies Karsten Lentzsch. All Rights Reserved.