Jump to content

Apache Commons BeanUtils

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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

  1. ^ a b c "BeanUtils – Commons". commons.apache.org. Retrieved 2019-08-20.
  2. ^ Berglund, Tim; McCullough, Matthew (2011-07-13). Building and Testing with Gradle. "O'Reilly Media, Inc.". p. 57. ISBN 9781449304638.
  3. ^ Company, Sonatype (2008-09-24). Maven: The Definitive Guide: The Definitive Guide. "O'Reilly Media, Inc.". p. 136. ISBN 9780596551780. {{cite book}}: |last= has generic name (help)