Class PropertyUtils


  • public class PropertyUtils
    extends java.lang.Object

    Utility methods for using Java Reflection APIs to facilitate generic property getter and setter operations on Java objects.

    The implementations for these methods are provided by PropertyUtilsBean. For more details see PropertyUtilsBean.

    Version:
    $Id: PropertyUtils.java 1747095 2016-06-07 00:27:52Z ggregory $
    See Also:
    PropertyUtilsBean, Resolver
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static char INDEXED_DELIM
      Deprecated.
      The notation used for property name expressions is now dependant on the Resolver implementation being used.
      static char INDEXED_DELIM2
      Deprecated.
      The notation used for property name expressions is now dependant on the Resolver implementation being used.
      static char MAPPED_DELIM
      Deprecated.
      The notation used for property name expressions is now dependant on the Resolver implementation being used.
      static char MAPPED_DELIM2
      Deprecated.
      The notation used for property name expressions is now dependant on the Resolver implementation being used.
      static char NESTED_DELIM
      Deprecated.
      The notation used for property name expressions is now dependant on the Resolver implementation being used.
    • Constructor Summary

      Constructors 
      Constructor Description
      PropertyUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static void addBeanIntrospector​(BeanIntrospector introspector)
      Adds a BeanIntrospector.
      static void clearDescriptors()
      Clear any cached property descriptors information for all classes loaded by any class loaders.
      static void copyProperties​(java.lang.Object dest, java.lang.Object orig)
      Copy property values from the "origin" bean to the "destination" bean for all cases where the property names are the same (even though the actual getter and setter methods might have been customized via BeanInfo classes).
      static java.util.Map<java.lang.String,​java.lang.Object> describe​(java.lang.Object bean)
      Return the entire set of properties for which the specified bean provides a read method.
      static int getDebug()
      Deprecated.
      The debug static property is no longer used
      static java.lang.Object getIndexedProperty​(java.lang.Object bean, java.lang.String name)
      Return the value of the specified indexed property of the specified bean, with no type conversions.
      static java.lang.Object getIndexedProperty​(java.lang.Object bean, java.lang.String name, int index)
      Return the value of the specified indexed property of the specified bean, with no type conversions.
      static java.lang.Object getMappedProperty​(java.lang.Object bean, java.lang.String name)
      Return the value of the specified mapped property of the specified bean, with no type conversions.
      static java.lang.Object getMappedProperty​(java.lang.Object bean, java.lang.String name, java.lang.String key)
      Return the value of the specified mapped property of the specified bean, with no type conversions.
      static org.apache.commons.collections.FastHashMap getMappedPropertyDescriptors​(java.lang.Class<?> beanClass)
      Deprecated.
      This method should not be exposed
      static org.apache.commons.collections.FastHashMap getMappedPropertyDescriptors​(java.lang.Object bean)
      Deprecated.
      This method should not be exposed
      static java.lang.Object getNestedProperty​(java.lang.Object bean, java.lang.String name)
      Return the value of the (possibly nested) property of the specified name, for the specified bean, with no type conversions.
      static java.lang.Object getProperty​(java.lang.Object bean, java.lang.String name)
      Return the value of the specified property of the specified bean, no matter which property reference format is used, with no type conversions.
      static java.beans.PropertyDescriptor getPropertyDescriptor​(java.lang.Object bean, java.lang.String name)
      Retrieve the property descriptor for the specified property of the specified bean, or return null if there is no such descriptor.
      static java.beans.PropertyDescriptor[] getPropertyDescriptors​(java.lang.Class<?> beanClass)
      Retrieve the property descriptors for the specified class, introspecting and caching them the first time a particular bean class is encountered.
      static java.beans.PropertyDescriptor[] getPropertyDescriptors​(java.lang.Object bean)
      Retrieve the property descriptors for the specified bean, introspecting and caching them the first time a particular bean class is encountered.
      static java.lang.Class<?> getPropertyEditorClass​(java.lang.Object bean, java.lang.String name)
      Return the Java Class repesenting the property editor class that has been registered for this property (if any).
      static java.lang.Class<?> getPropertyType​(java.lang.Object bean, java.lang.String name)
      Return the Java Class representing the property type of the specified property, or null if there is no such property for the specified bean.
      static java.lang.reflect.Method getReadMethod​(java.beans.PropertyDescriptor descriptor)
      Return an accessible property getter method for this property, if there is one; otherwise return null.
      static java.lang.Object getSimpleProperty​(java.lang.Object bean, java.lang.String name)
      Return the value of the specified simple property of the specified bean, with no type conversions.
      static java.lang.reflect.Method getWriteMethod​(java.beans.PropertyDescriptor descriptor)
      Return an accessible property setter method for this property, if there is one; otherwise return null.
      static boolean isReadable​(java.lang.Object bean, java.lang.String name)
      Return true if the specified property name identifies a readable property on the specified bean; otherwise, return false.
      static boolean isWriteable​(java.lang.Object bean, java.lang.String name)
      Return true if the specified property name identifies a writeable property on the specified bean; otherwise, return false.
      static boolean removeBeanIntrospector​(BeanIntrospector introspector)
      Removes the specified BeanIntrospector.
      static void resetBeanIntrospectors()
      Resets the registered BeanIntrospector objects to the initial default state.
      static void setDebug​(int newDebug)
      Deprecated.
      The debug static property is no longer used
      static void setIndexedProperty​(java.lang.Object bean, java.lang.String name, int index, java.lang.Object value)
      Sets the value of the specified indexed property of the specified bean, with no type conversions.
      static void setIndexedProperty​(java.lang.Object bean, java.lang.String name, java.lang.Object value)
      Sets the value of the specified indexed property of the specified bean, with no type conversions.
      static void setMappedProperty​(java.lang.Object bean, java.lang.String name, java.lang.Object value)
      Sets the value of the specified mapped property of the specified bean, with no type conversions.
      static void setMappedProperty​(java.lang.Object bean, java.lang.String name, java.lang.String key, java.lang.Object value)
      Sets the value of the specified mapped property of the specified bean, with no type conversions.
      static void setNestedProperty​(java.lang.Object bean, java.lang.String name, java.lang.Object value)
      Sets the value of the (possibly nested) property of the specified name, for the specified bean, with no type conversions.
      static void setProperty​(java.lang.Object bean, java.lang.String name, java.lang.Object value)
      Set the value of the specified property of the specified bean, no matter which property reference format is used, with no type conversions.
      static void setSimpleProperty​(java.lang.Object bean, java.lang.String name, java.lang.Object value)
      Set the value of the specified simple property of the specified bean, with no type conversions.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • INDEXED_DELIM

        @Deprecated
        public static final char INDEXED_DELIM
        Deprecated.
        The notation used for property name expressions is now dependant on the Resolver implementation being used.
        The delimiter that preceeds the zero-relative subscript for an indexed reference.
        See Also:
        Constant Field Values
      • INDEXED_DELIM2

        @Deprecated
        public static final char INDEXED_DELIM2
        Deprecated.
        The notation used for property name expressions is now dependant on the Resolver implementation being used.
        The delimiter that follows the zero-relative subscript for an indexed reference.
        See Also:
        Constant Field Values
      • MAPPED_DELIM

        @Deprecated
        public static final char MAPPED_DELIM
        Deprecated.
        The notation used for property name expressions is now dependant on the Resolver implementation being used.
        The delimiter that preceeds the key of a mapped property.
        See Also:
        Constant Field Values
      • MAPPED_DELIM2

        @Deprecated
        public static final char MAPPED_DELIM2
        Deprecated.
        The notation used for property name expressions is now dependant on the Resolver implementation being used.
        The delimiter that follows the key of a mapped property.
        See Also:
        Constant Field Values
      • NESTED_DELIM

        @Deprecated
        public static final char NESTED_DELIM
        Deprecated.
        The notation used for property name expressions is now dependant on the Resolver implementation being used.
        The delimiter that separates the components of a nested reference.
        See Also:
        Constant Field Values
    • Constructor Detail

      • PropertyUtils

        public PropertyUtils()
    • Method Detail

      • getDebug

        @Deprecated
        public static int getDebug()
        Deprecated.
        The debug static property is no longer used
        The debug static property is no longer used
        Returns:
        debug property
      • setDebug

        @Deprecated
        public static void setDebug​(int newDebug)
        Deprecated.
        The debug static property is no longer used
        The debug static property is no longer used
        Parameters:
        newDebug - debug property
      • clearDescriptors

        public static void clearDescriptors()
        Clear any cached property descriptors information for all classes loaded by any class loaders. This is useful in cases where class loaders are thrown away to implement class reloading.

        For more details see PropertyUtilsBean.

        See Also:
        PropertyUtilsBean.clearDescriptors()
      • resetBeanIntrospectors

        public static void resetBeanIntrospectors()
        Resets the registered BeanIntrospector objects to the initial default state.
        Since:
        1.9
      • addBeanIntrospector

        public static void addBeanIntrospector​(BeanIntrospector introspector)
        Adds a BeanIntrospector. This object is invoked when the property descriptors of a class need to be obtained.
        Parameters:
        introspector - the BeanIntrospector to be added (must not be null
        Throws:
        java.lang.IllegalArgumentException - if the argument is null
        Since:
        1.9
      • removeBeanIntrospector

        public static boolean removeBeanIntrospector​(BeanIntrospector introspector)
        Removes the specified BeanIntrospector.
        Parameters:
        introspector - the BeanIntrospector to be removed
        Returns:
        true if the BeanIntrospector existed and could be removed, false otherwise
        Since:
        1.9
      • copyProperties

        public static void copyProperties​(java.lang.Object dest,
                                          java.lang.Object orig)
                                   throws java.lang.IllegalAccessException,
                                          java.lang.reflect.InvocationTargetException,
                                          java.lang.NoSuchMethodException

        Copy property values from the "origin" bean to the "destination" bean for all cases where the property names are the same (even though the actual getter and setter methods might have been customized via BeanInfo classes).

        For more details see PropertyUtilsBean.

        Parameters:
        dest - Destination bean whose properties are modified
        orig - Origin bean whose properties are retrieved
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if the dest or orig argument is null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.copyProperties(java.lang.Object, java.lang.Object)
      • describe

        public static java.util.Map<java.lang.String,​java.lang.Object> describe​(java.lang.Object bean)
                                                                               throws java.lang.IllegalAccessException,
                                                                                      java.lang.reflect.InvocationTargetException,
                                                                                      java.lang.NoSuchMethodException

        Return the entire set of properties for which the specified bean provides a read method.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose properties are to be extracted
        Returns:
        The set of properties for the bean
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean is null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.describe(java.lang.Object)
      • getIndexedProperty

        public static java.lang.Object getIndexedProperty​(java.lang.Object bean,
                                                          java.lang.String name)
                                                   throws java.lang.IllegalAccessException,
                                                          java.lang.reflect.InvocationTargetException,
                                                          java.lang.NoSuchMethodException

        Return the value of the specified indexed property of the specified bean, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be extracted
        name - propertyname[index] of the property value to be extracted
        Returns:
        the indexed property value
        Throws:
        java.lang.IndexOutOfBoundsException - if the specified index is outside the valid range for the underlying property
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.getIndexedProperty(Object,String)
      • getIndexedProperty

        public static java.lang.Object getIndexedProperty​(java.lang.Object bean,
                                                          java.lang.String name,
                                                          int index)
                                                   throws java.lang.IllegalAccessException,
                                                          java.lang.reflect.InvocationTargetException,
                                                          java.lang.NoSuchMethodException

        Return the value of the specified indexed property of the specified bean, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be extracted
        name - Simple property name of the property value to be extracted
        index - Index of the property value to be extracted
        Returns:
        the indexed property value
        Throws:
        java.lang.IndexOutOfBoundsException - if the specified index is outside the valid range for the underlying property
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.getIndexedProperty(Object,String, int)
      • getMappedProperty

        public static java.lang.Object getMappedProperty​(java.lang.Object bean,
                                                         java.lang.String name)
                                                  throws java.lang.IllegalAccessException,
                                                         java.lang.reflect.InvocationTargetException,
                                                         java.lang.NoSuchMethodException

        Return the value of the specified mapped property of the specified bean, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be extracted
        name - propertyname(key) of the property value to be extracted
        Returns:
        the mapped property value
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.getMappedProperty(Object,String)
      • getMappedProperty

        public static java.lang.Object getMappedProperty​(java.lang.Object bean,
                                                         java.lang.String name,
                                                         java.lang.String key)
                                                  throws java.lang.IllegalAccessException,
                                                         java.lang.reflect.InvocationTargetException,
                                                         java.lang.NoSuchMethodException

        Return the value of the specified mapped property of the specified bean, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be extracted
        name - Mapped property name of the property value to be extracted
        key - Key of the property value to be extracted
        Returns:
        the mapped property value
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.getMappedProperty(Object,String, String)
      • getMappedPropertyDescriptors

        @Deprecated
        public static org.apache.commons.collections.FastHashMap getMappedPropertyDescriptors​(java.lang.Class<?> beanClass)
        Deprecated.
        This method should not be exposed

        Return the mapped property descriptors for this bean class.

        For more details see PropertyUtilsBean.

        Parameters:
        beanClass - Bean class to be introspected
        Returns:
        the mapped property descriptors
        See Also:
        PropertyUtilsBean.getMappedPropertyDescriptors(Class)
      • getMappedPropertyDescriptors

        @Deprecated
        public static org.apache.commons.collections.FastHashMap getMappedPropertyDescriptors​(java.lang.Object bean)
        Deprecated.
        This method should not be exposed

        Return the mapped property descriptors for this bean.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean to be introspected
        Returns:
        the mapped property descriptors
        See Also:
        PropertyUtilsBean.getMappedPropertyDescriptors(Object)
      • getNestedProperty

        public static java.lang.Object getNestedProperty​(java.lang.Object bean,
                                                         java.lang.String name)
                                                  throws java.lang.IllegalAccessException,
                                                         java.lang.reflect.InvocationTargetException,
                                                         java.lang.NoSuchMethodException

        Return the value of the (possibly nested) property of the specified name, for the specified bean, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be extracted
        name - Possibly nested name of the property to be extracted
        Returns:
        the nested property value
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        NestedNullException - if a nested reference to a property returns null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.getNestedProperty(java.lang.Object, java.lang.String)
      • getProperty

        public static java.lang.Object getProperty​(java.lang.Object bean,
                                                   java.lang.String name)
                                            throws java.lang.IllegalAccessException,
                                                   java.lang.reflect.InvocationTargetException,
                                                   java.lang.NoSuchMethodException

        Return the value of the specified property of the specified bean, no matter which property reference format is used, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be extracted
        name - Possibly indexed and/or nested name of the property to be extracted
        Returns:
        the property value
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.getProperty(java.lang.Object, java.lang.String)
      • getPropertyDescriptor

        public static java.beans.PropertyDescriptor getPropertyDescriptor​(java.lang.Object bean,
                                                                          java.lang.String name)
                                                                   throws java.lang.IllegalAccessException,
                                                                          java.lang.reflect.InvocationTargetException,
                                                                          java.lang.NoSuchMethodException

        Retrieve the property descriptor for the specified property of the specified bean, or return null if there is no such descriptor.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean for which a property descriptor is requested
        name - Possibly indexed and/or nested name of the property for which a property descriptor is requested
        Returns:
        the property descriptor
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        java.lang.IllegalArgumentException - if a nested reference to a property returns null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.getPropertyDescriptor(java.lang.Object, java.lang.String)
      • getPropertyDescriptors

        public static java.beans.PropertyDescriptor[] getPropertyDescriptors​(java.lang.Class<?> beanClass)

        Retrieve the property descriptors for the specified class, introspecting and caching them the first time a particular bean class is encountered.

        For more details see PropertyUtilsBean.

        Parameters:
        beanClass - Bean class for which property descriptors are requested
        Returns:
        the property descriptors
        Throws:
        java.lang.IllegalArgumentException - if beanClass is null
        See Also:
        PropertyUtilsBean.getPropertyDescriptors(Class)
      • getPropertyDescriptors

        public static java.beans.PropertyDescriptor[] getPropertyDescriptors​(java.lang.Object bean)

        Retrieve the property descriptors for the specified bean, introspecting and caching them the first time a particular bean class is encountered.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean for which property descriptors are requested
        Returns:
        the property descriptors
        Throws:
        java.lang.IllegalArgumentException - if bean is null
        See Also:
        PropertyUtilsBean.getPropertyDescriptors(Object)
      • getPropertyEditorClass

        public static java.lang.Class<?> getPropertyEditorClass​(java.lang.Object bean,
                                                                java.lang.String name)
                                                         throws java.lang.IllegalAccessException,
                                                                java.lang.reflect.InvocationTargetException,
                                                                java.lang.NoSuchMethodException

        Return the Java Class repesenting the property editor class that has been registered for this property (if any).

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean for which a property descriptor is requested
        name - Possibly indexed and/or nested name of the property for which a property descriptor is requested
        Returns:
        the property editor class
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        java.lang.IllegalArgumentException - if a nested reference to a property returns null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.getPropertyEditorClass(Object,String)
      • getPropertyType

        public static java.lang.Class<?> getPropertyType​(java.lang.Object bean,
                                                         java.lang.String name)
                                                  throws java.lang.IllegalAccessException,
                                                         java.lang.reflect.InvocationTargetException,
                                                         java.lang.NoSuchMethodException

        Return the Java Class representing the property type of the specified property, or null if there is no such property for the specified bean.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean for which a property descriptor is requested
        name - Possibly indexed and/or nested name of the property for which a property descriptor is requested
        Returns:
        The property type
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        java.lang.IllegalArgumentException - if a nested reference to a property returns null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.getPropertyType(Object, String)
      • getReadMethod

        public static java.lang.reflect.Method getReadMethod​(java.beans.PropertyDescriptor descriptor)

        Return an accessible property getter method for this property, if there is one; otherwise return null.

        For more details see PropertyUtilsBean.

        Parameters:
        descriptor - Property descriptor to return a getter for
        Returns:
        The read method
        See Also:
        PropertyUtilsBean.getReadMethod(PropertyDescriptor)
      • getSimpleProperty

        public static java.lang.Object getSimpleProperty​(java.lang.Object bean,
                                                         java.lang.String name)
                                                  throws java.lang.IllegalAccessException,
                                                         java.lang.reflect.InvocationTargetException,
                                                         java.lang.NoSuchMethodException

        Return the value of the specified simple property of the specified bean, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be extracted
        name - Name of the property to be extracted
        Returns:
        The property value
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        java.lang.IllegalArgumentException - if the property name is nested or indexed
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.getSimpleProperty(java.lang.Object, java.lang.String)
      • getWriteMethod

        public static java.lang.reflect.Method getWriteMethod​(java.beans.PropertyDescriptor descriptor)

        Return an accessible property setter method for this property, if there is one; otherwise return null.

        For more details see PropertyUtilsBean.

        Parameters:
        descriptor - Property descriptor to return a setter for
        Returns:
        The write method
        See Also:
        PropertyUtilsBean.getWriteMethod(PropertyDescriptor)
      • isReadable

        public static boolean isReadable​(java.lang.Object bean,
                                         java.lang.String name)

        Return true if the specified property name identifies a readable property on the specified bean; otherwise, return false.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean to be examined (may be a DynaBean
        name - Property name to be evaluated
        Returns:
        true if the property is readable, otherwise false
        Throws:
        java.lang.IllegalArgumentException - if bean or name is null
        Since:
        BeanUtils 1.6
        See Also:
        PropertyUtilsBean.isReadable(java.lang.Object, java.lang.String)
      • isWriteable

        public static boolean isWriteable​(java.lang.Object bean,
                                          java.lang.String name)

        Return true if the specified property name identifies a writeable property on the specified bean; otherwise, return false.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean to be examined (may be a DynaBean
        name - Property name to be evaluated
        Returns:
        true if the property is writeable, otherwise false
        Throws:
        java.lang.IllegalArgumentException - if bean or name is null
        Since:
        BeanUtils 1.6
        See Also:
        PropertyUtilsBean.isWriteable(java.lang.Object, java.lang.String)
      • setIndexedProperty

        public static void setIndexedProperty​(java.lang.Object bean,
                                              java.lang.String name,
                                              java.lang.Object value)
                                       throws java.lang.IllegalAccessException,
                                              java.lang.reflect.InvocationTargetException,
                                              java.lang.NoSuchMethodException

        Sets the value of the specified indexed property of the specified bean, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be modified
        name - propertyname[index] of the property value to be modified
        value - Value to which the specified property element should be set
        Throws:
        java.lang.IndexOutOfBoundsException - if the specified index is outside the valid range for the underlying property
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.setIndexedProperty(Object, String, Object)
      • setIndexedProperty

        public static void setIndexedProperty​(java.lang.Object bean,
                                              java.lang.String name,
                                              int index,
                                              java.lang.Object value)
                                       throws java.lang.IllegalAccessException,
                                              java.lang.reflect.InvocationTargetException,
                                              java.lang.NoSuchMethodException

        Sets the value of the specified indexed property of the specified bean, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be set
        name - Simple property name of the property value to be set
        index - Index of the property value to be set
        value - Value to which the indexed property element is to be set
        Throws:
        java.lang.IndexOutOfBoundsException - if the specified index is outside the valid range for the underlying property
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.setIndexedProperty(Object, String, Object)
      • setMappedProperty

        public static void setMappedProperty​(java.lang.Object bean,
                                             java.lang.String name,
                                             java.lang.Object value)
                                      throws java.lang.IllegalAccessException,
                                             java.lang.reflect.InvocationTargetException,
                                             java.lang.NoSuchMethodException

        Sets the value of the specified mapped property of the specified bean, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be set
        name - propertyname(key) of the property value to be set
        value - The property value to be set
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.setMappedProperty(Object, String, Object)
      • setMappedProperty

        public static void setMappedProperty​(java.lang.Object bean,
                                             java.lang.String name,
                                             java.lang.String key,
                                             java.lang.Object value)
                                      throws java.lang.IllegalAccessException,
                                             java.lang.reflect.InvocationTargetException,
                                             java.lang.NoSuchMethodException

        Sets the value of the specified mapped property of the specified bean, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be set
        name - Mapped property name of the property value to be set
        key - Key of the property value to be set
        value - The property value to be set
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.setMappedProperty(Object, String, String, Object)
      • setNestedProperty

        public static void setNestedProperty​(java.lang.Object bean,
                                             java.lang.String name,
                                             java.lang.Object value)
                                      throws java.lang.IllegalAccessException,
                                             java.lang.reflect.InvocationTargetException,
                                             java.lang.NoSuchMethodException

        Sets the value of the (possibly nested) property of the specified name, for the specified bean, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be modified
        name - Possibly nested name of the property to be modified
        value - Value to which the property is to be set
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        java.lang.IllegalArgumentException - if a nested reference to a property returns null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.setNestedProperty(java.lang.Object, java.lang.String, java.lang.Object)
      • setProperty

        public static void setProperty​(java.lang.Object bean,
                                       java.lang.String name,
                                       java.lang.Object value)
                                throws java.lang.IllegalAccessException,
                                       java.lang.reflect.InvocationTargetException,
                                       java.lang.NoSuchMethodException

        Set the value of the specified property of the specified bean, no matter which property reference format is used, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be modified
        name - Possibly indexed and/or nested name of the property to be modified
        value - Value to which this property is to be set
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.setProperty(java.lang.Object, java.lang.String, java.lang.Object)
      • setSimpleProperty

        public static void setSimpleProperty​(java.lang.Object bean,
                                             java.lang.String name,
                                             java.lang.Object value)
                                      throws java.lang.IllegalAccessException,
                                             java.lang.reflect.InvocationTargetException,
                                             java.lang.NoSuchMethodException

        Set the value of the specified simple property of the specified bean, with no type conversions.

        For more details see PropertyUtilsBean.

        Parameters:
        bean - Bean whose property is to be modified
        name - Name of the property to be modified
        value - Value to which the property should be set
        Throws:
        java.lang.IllegalAccessException - if the caller does not have access to the property accessor method
        java.lang.IllegalArgumentException - if bean or name is null
        java.lang.IllegalArgumentException - if the property name is nested or indexed
        java.lang.reflect.InvocationTargetException - if the property accessor method throws an exception
        java.lang.NoSuchMethodException - if an accessor method for this propety cannot be found
        See Also:
        PropertyUtilsBean.setSimpleProperty(java.lang.Object, java.lang.String, java.lang.Object)