Jump to content

Apache Commons BeanUtils

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Frap (talk | contribs) at 08:42, 13 July 2020 (Example). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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)