Software:Apache Commons BeanUtils

From HandWiki
Apache Commons BeanUtils
Developer(s)Apache Software Foundation
Stable release
1.9.4
Repositoryhttps://github.com/apache/commons-beanutils
Written inJava
Operating systemCross-platform
LicenseApache License 2.0
Websitecommons.apache.org/proper/commons-beanutils/index.html

Apache Commons BeanUtils is a Java-based utility to provide component based architecture.[1][2][3]

Modules

The library is distributed in three jar files:

  • commons-beanutils.jar - contains everything
  • commons-beanutils-core.jar - excludes Bean Collections classes
  • commons-beanutils-bean-collections.jar - only Bean Collections classes.[1]

Example

Sample code may look like as follows:

/**
* Example displaying the new default behaviour such that
* it is not possible to access class level properties utilizing the
* BeanUtilsBean, which in turn utilizes the PropertyUtilsBean.
*/
public void testSuppressClassPropertyByDefault() throws Exception {
    final BeanUtilsBean bub = new BeanUtilsBean();
    final AlphaBean bean = new AlphaBean();
    try {
        bub.getProperty(bean, "class");
        fail("Could access class property!");
    } catch (final NoSuchMethodException ex) {
        // Ok
    }
}

/**
* Example showing how by which one would use to revert to the
* behaviour prior to the 1.9.4 release where class level properties were accessible by
* the BeanUtilsBean and the PropertyUtilsBean.
*/
public void testAllowAccessToClassProperty() throws Exception {
    final BeanUtilsBean bub = new BeanUtilsBean();
    bub.getPropertyUtils().removeBeanIntrospector(SuppressPropertiesBeanIntrospector.SUPPRESS_CLASS);
    final AlphaBean bean = new AlphaBean();
    String result = bub.getProperty(bean, "class");
    assertEquals("Class property should have been accessed", "class org.apache.commons.beanutils2.AlphaBean", result);
}

[1]

See also

References

External links