View Source Code Repository
|
The Commons is an Apache project focused on all aspects of
reusable Java components.
The Apache Commons project is composed of three parts:
You may also read our charter,
which spells out the goals of the project in greater detail.
The Commons Proper is dedicated to one principal
goal: creating and maintaining reusable Java components. The Commons
Proper is a place for collaboration and sharing, where
developers from throughout the Apache community can work together
on projects to be shared by the Apache projects and Apache users.
Commons developers will make an effort to ensure that their
components have minimal dependencies on other libraries, so that
these components can be deployed easily. In addition, Commons components
will keep their interfaces as stable as possible, so that Apache users
(including other Apache projects) can implement these
components without having to worry about changes in the future.
This article
gives an overview of (some of) the components which can be found here.
We welcome participation from all that are interested, at all skill levels.
Coding, documentation and testing are all critical parts of the software
development process. If you are interested in participating in any of
these aspects, please join us!
| Components | |
| Attributes |
Runtime API to metadata attributes such as doclet tags.
|
| BeanUtils |
Easy-to-use wrappers around the Java reflection and introspection APIs.
|
| Betwixt |
Services for mapping JavaBeans to XML documents, and vice versa.
|
| Chain |
"Chain of Responsibility" pattern implemention.
|
| CLI |
Command Line arguments parser.
|
| Codec |
General encoding/decoding algorithms (for example phonetic, base64, URL).
|
| Collections |
Extends or augments the Java Collections Framework.
|
| Compress |
Defines an API for working with tar, zip and bzip2 files.
|
| Configuration |
Reading of configuration/preferences files in various formats.
|
| Daemon |
Alternative invocation mechanism for unix-daemon-like java code.
|
| DBCP |
Database connection pooling services.
|
| DbUtils |
JDBC helper library.
|
| Digester |
XML-to-Java-object mapping utility.
|
| Discovery |
Tools for locating resources by mapping service/reference names to resource names.
|
| EL |
Interpreter for the Expression Language defined by the JSP 2.0 specification.
|
| Email |
Library for sending e-mail from Java.
|
| Exec |
API for dealing with external process execution and environment management in Java.
|
| FileUpload |
File upload capability for your servlets and web applications.
|
| IO |
Collection of I/O utilities.
|
| JCI |
Java Compiler Interface
|
| Jelly |
XML based scripting and processing engine.
|
| Jexl |
Expression language which extends the Expression Language of the JSTL.
|
| JXPath |
Utilities for manipulating Java Beans using the XPath syntax.
|
| Lang |
Provides extra functionality for classes in java.lang.
|
| Launcher |
Cross platform Java application launcher.
|
| Logging |
Wrapper around a variety of logging API implementations.
|
| Math |
Lightweight, self-contained mathematics and statistics components.
|
| Modeler |
Mechanisms to create Model MBeans compatible with JMX specification.
|
| Net |
Collection of network utilities and protocol implementations.
|
| Pool |
Generic object pooling component.
|
| Primitives |
Smaller, faster and easier to work with types supporting Java primitive types.
|
| Proxy |
Library for creating dynamic proxies.
|
| SCXML |
An implementation of the State Chart XML specification aimed at creating
and maintaining a Java SCXML engine. It is capable of executing a state machine
defined using a SCXML document, and abstracts out the environment interfaces.
|
| Transaction |
Implementations for multi level locks, transactional collections and transactional file access.
|
| Validator |
Framework to define validators and validation rules in an xml file.
|
| VFS |
Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system.
|
This project also contains a workspace that is open to all
Apache committers. It's a place to try out new ideas and prepare
for inclusion into the Commons portion of the project or into another
Apache project. Users are free to experiment with the components
developed in the sandbox, but sandbox components will not necessarily
be maintained, particularly in their current state.
| Sandbox | |
| CLI2 |
Redesign of Commons CLI.
|
| CSV |
Component for reading and writing comma separated value files.
|
| Finder |
Java library inspired by the UNIX find command.
|
| Flatfile |
Java library for working with flat data structures.
|
| Functor |
A functor is a function that can be manipulated as an object, or
an object representing a single, generic function.
|
| I18n |
Adds the feature of localized message bundles that consist of one or many localized texts that belong together. Think of an error message that consists of title, text, summary and error details.
|
| Id |
Id is a component used to generate identifiers.
|
| Javaflow |
Continuation implementation to capture the state of the application.
|
| JNet |
JNet allows to use dynamically register url stream handlers through the java.net API.
|
| Monitoring |
Monitoring provides a simple, lightweight toolkit to instrument java application
monitoring capabilities, including performances and thread concurrency.
|
| Nabla |
Nabla provides automatic differentiation classes that can generate derivative
of any function implemented in the Java language.
|
| OpenPGP |
Interface to signing and verifying data using OpenPGP.
|
| Performance |
A small framework for microbenchmark clients, with implementations for Commons DBCP and Pool.
|
| Pipeline |
Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects data objects.
|
These are Commons Sandbox components that have been deemed inactive since
they have seen little recent development activity. If you wish to use any
of these components, you must build them yourselves. It is best to assume
that these components will not be released in the near future.
| Dormant | |
| Cache |
Cache provides object caching services.
|
| Clazz |
Clazz focuses on introspection and class manipulation.
|
| Contract |
This component makes all the nice features available to the java programming language
that come along with contract based programming.
|
| Convert |
Commons-Convert aims to provide a single library dedicated to the task
of converting an object of one type to another.
|
| Events |
Commons-Events provides additional classes for firing and handling
events. It focusses on the Java Collections Framework, providing
decorators to other collections that fire events.
|
| Feedparser |
A Java RSS/Atom parser designed to elegantly support all versions of
RSS (0.9, 0.91, 0.92, 1.0, and 2.0), Atom 0.5 (and future versions) as well as
easy ad hoc extension and RSS 1.0 modules capability.
|
| JJar |
Jakarta JAR Archive Repository
|
| Latka |
Commons-Latka is an HTTP functional testing suite for automated QA,
acceptance and regression testing.
|
| Mapper |
Mapper is a thin abstraction layer around a project's chosen data
mapping technology (a.k.a. DAO pattern).
|
| Messenger |
Messenger is an easy to use and lightweight framework for working with JMS in the web tier.
|
| Resources |
Resources provides a lightweight framework for defining and looking up
internationalized message strings keyed by a java.util.Locale and a
message key.
|
| Scaffold |
Scaffold is a toolkit for building web applications.
|
| ThreadPool |
ThreadPool is a simple component for asynchronously dispatching work to another thread in a pool
for simple multi threaded programming.
|
| Workflow |
Workflow provides a framework for building workflow management systems.
|
| XMLIO |
Simple and fast importer for XML configuration or import files.
|
The individual components have independent releases.
Some releases for some components may be available only through the mirroring system.
Some releases for some components (typically the older ones) are not available through
the mirroring system.
See the individual websites listed above for the specific downloads, or use the Releases menu option.
Nightly snapshots of the Commons SVN can be found
here.
These are meant to provide easy access to the actual project SVN tree.
As this is our live development workspace, there are
no guarantees as to what you will find there, although we do our
best to maintain a buildable source tree.
The Commons project really needs and appreciates any contributions,
including documentation help, source code and feedback.
Some other Apache Projects also have commons subprojects.
So, if you can't find what you need here, you might like to take a look there.
Some components which started out here have migrated to these other places.
|