Digester -
Commons
Last Published: 11 January 2013
Version: 3.3-SNAPSHOT
ApacheCon
Apache
Commons
Digester
Overview
Mailing Lists
Issue Tracking
Source Repository
Javadoc (SVN latest)
Developers Guide
Core APIs
Rules Binder
Constructor based rule (new)
Async parser
Plugins
Substitution
XML Rules
Annotations
FAQ
Release 3.2 (Current)
Javadoc
Release Notes
Release 3.1
Javadoc
Release Notes
Release 3.0
Javadoc
Release Notes
Release 2.1
Guide
Core APIs
Plugins
Substitution
XML Rules
Annotations
FAQ
Javadoc
Release Notes
Project Documentation
Project Information
About
Project Summary
Project Modules
Project Team
Source Repository
Issue Tracking
Mailing Lists
Dependencies
Dependency Convergence
Continuous Integration
Distribution Management
Project Reports
Commons
License
Components
Sandbox
Dormant
General Information
Volunteering
Contributing Patches
Building Components
Releasing Components
Wiki
ASF
How the ASF works
Get Involved
Developer Resources
Sponsorship
Thanks
The Digester Component
Many projects read XML configuration files to provide initialization
of various Java objects within the system. There are several ways of doing
this, and the
Digester
component was designed to provide a common
implementation that can be used in many different projects.
Basically, the
Digester
package lets you configure an XML ->
Java object mapping module, which triggers certain actions called
rules
whenever a particular pattern of nested XML elements is
recognized. A rich set of predefined
rules
is available for your
use, or you can also create your own.
Documentation
User documentation is available in the website, you can start reading the
Core APIs
The
Release Notes
document the new features and bug fixes that have been
included in this release.
The "examples" directory in the source code repository contains code which
demonstrates the basic functionality. In particular, you should read the
AddressBook example in the "api" subdirectory. You can view the examples
directly from the Subversion repository via
the web-based repository browser
web site, or can use subversion to
download the files.
For the FAQ and other digester-related information, see
the Digester wiki page
Releases
Digester 3.2 (December 2011)
The Digester 3.2 release is a maintenance release that adds the most innovating feature ever, providing the
objects
Constructor
feature.
Take a look at Digester 3.2 release
changes list
for more details.
Digester 3.2
requires a minimum of JDK 1.5
The recommended dependency set for Digester 3.2 is:
Recommended Dependency Set
Digester
+Logging 1.1.1
+BeanUtils 1.8.3
+CGLIB 2.2.2
Since dependencies increased by number, since 3.2 release, Digester is distributed also in a single artifact
with shaded dependencies.
Maven users that want to switch over shaded artifact, must use the
with-deps
classifier:
Digester 3.1 Release (October 2011)
The Digester 3.1 release is a maintenance release that adds the
Asynchronous parser
feature.
Digester 3.0 Release (July 2011)
The Digester 3.0 is an almost complete rewrite of the original Digester implementation, which offers:
A universal loader: core features and extensions became not so easy to maintain, since every contribution was created
with a different approach; a fresh new architecture is able to load modules that allow users write and include easily
their own extensions;
Reusability of Digester configurations: what was missing is a way to
describe
how the Digester instances have to be built and not how to set rules given an existing instance;
Rules are now expressed via EDSL: the key feature of Digester3 is expressing rule bindings using a fluent APIs
collection, that speak more in English rather than in a programming language;
Improved errors reporting: rules binding debug operations have made easier, a detailed errors list of wrong binding is
reported just when the loader attempts to create a new Digester instance, and not when running it.
Acknowledgements
: The Digester 3 has been inspired by special people:
Rahul Akolkar, for mentoring;
James Carman, who had the initial idea of building a Digester with fluent APIs;
Matt Benson, for having influenced on DSL;
Daniele Testa [mrwolfgraphics AT gmail DOT com], who provided the Digester3 logo.
Resources
Jul 11, 2011 - The online magazine JaxEnter interviews Commons PMC Member Simone Tripodi asking
What's New in Apache Commons Digester 3.0?
The Apache wiki page for the commons digester component
Jan 6, 2005 -
O'Reilly article
by Timothy M. O'Brien about jakarta commons in general, including info on Digester.
Jun 2, 2003 -
IBM developerWorks article
by Otis Gospodnetic about parsing, indexing and searching XML with Digester and Lucene.
Oct 25, 2002 -
JavaWorld
has an
article on Digester entitled
Simplify XML file processing with the Apache Commons Digester
Oct 23, 2002 -
OnJava
has an article
on Digester entitled
Learning and using Jakarta Digester
Copyright © 2001-2013
The Apache Software Foundation
Apache Commons, Apache Apache Commons Digester, Apache, the Apache feather logo, and the Apache Commons project logos are trademarks of The Apache Software Foundation.
All other marks mentioned may be trademarks or registered trademarks of their respective owners.
US