\u001B[1mSYNOPSIS\u001B[0m
    ${project.description}

    Original Maven URL:
        \u001B[33mmvn:${pkgGroupId}/${pkgArtifactId}/${pkgVersion}\u001B[0m

\u001B[1mDESCRIPTION\u001B[0m
    Most Java developers are used to creating Java classes that conform to the JavaBeans naming patterns for
    property getters and setters. It is natural to then access these methods directly, using calls to the
    corresponding getXxx and setXxx methods. However, there are some occasions where dynamic access to Java
    object properties (without compiled-in knowledge of the property getter and setter methods to be called)
    is needed. Example use cases include:

        * Building scripting languages that interact with the Java object model (such as the Bean Scripting
          Framework).
        * Building template language processors for web presentation and similar uses (such as JSP or Velocity).
        * Building custom tag libraries for JSP and XSP environments (such as Jakarta Taglibs, Struts, Cocoon).
        * Consuming XML-based configuration resources (such as Ant build scripts, web application deployment
          descriptors, Tomcat's server.xml file).

    The Java language provides Reflection and Introspection APIs (see the java.lang.reflect and java.beans
    packages in the JDK Javadocs). However, these APIs can be quite complex to understand and utilize.
    The BeanUtils component provides easy-to-use wrappers around these capabilities.

\u001B[1mSEE ALSO\u001B[0m
    \u001B[36mhttp://commons.apache.org/beanutils/\u001B[0m
