Apache Commons – Components
Introduction
The Apache Commons project differs from many other Apache hosted projects because it is comprised of multiple, independently released packages. This page provides an overview of the Commons components that are currently available.
Released Components
| Components | |
|---|---|
| BCEL | Byte Code Engineering Library - analyze, create, and manipulate Java class files |
| BeanUtils | Easy-to-use wrappers around the Java reflection and introspection APIs. |
| BSF | Bean Scripting Framework - interface to scripting languages, including JSR-223 |
| 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. |
| Crypto | A cryptographic library optimized with AES-NI wrapping Openssl or JCE algorithm implementations |
| CSV | Component for reading and writing comma separated value files. |
| 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. |
| 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. |
| Geometry | Space and coordinates. |
| Imaging (previously called Sanselan) | A pure-Java image library. |
| IO | Collection of I/O utilities. |
| JCI | Java Compiler Interface |
| JCS | Java Caching System |
| 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. |
| Logging | Wrapper around a variety of logging API implementations. |
| Math | Lightweight, self-contained mathematics and statistics components. |
| Net | Collection of network utilities and protocol implementations. |
| Numbers | Number types (complex, quaternion, fraction) and utilities (arrays, combinatorics). |
| Pool | Generic object pooling component. |
| RNG | Implementations of random numbers generators. |
| 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. |
| Statistics | Statistics. |
| Text | Apache Commons Text is a library focused on algorithms working on strings. |
| 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. |
| Weaver | Provides an easy way to enhance (weave) compiled bytecode. |
Elsewhere at Apache
The following components were part of Apache Commons but have moved elsewhere:
- Cactus: Cactus is a simple test framework for unit testing server-side java code (Servlets, EJBs, Tag Libs, Filters, ...). The intent of Cactus is to lower the cost of writing tests for server-side code.
- HiveMind: HiveMind is a services and configuration microkernel. HiveMind allows you to create your application using a service oriented architecture.
- HttpClient 3.x: Framework for working with the client-side of the HTTP protocol.
- Naming: The Naming subproject will contain common JNDI code along with various JNDI providers.