With the JavaBeansTM Activation Framework standard extension, developers
who use JavaTM technology can take advantage of standard services to
determine the type of an arbitrary piece of data, encapsulate access to
it, discover the operations available on it, and to instantiate the
appropriate bean to perform said operation(s). For example, if a browser
obtained a JPEG image, this framework would enable the browser to identify
that stream of data as an JPEG image, and from that type, the browser
could locate and instantiate an object that could manipulate, or view that
image.
JavaBeans utility library. It provides wrappers around getters
and setters for a property in an object for classes that conform
to the JavaBeans naming standard.
The Jakarta Commons CLI library provides a simple and easy to use
API for working with the command line arguments and options.
Commons Codec provides implementations of common encoders and decoders
such as Base64, Hex, various phonetic encodings, and URLs.
A suite of classes that extend or augment the Java Collections Framework.
There are certain holes left unfilled by Sun's implementations, and the
Jakarta-Commons Collections Component strives to fulfill them. Among the
features of this package are:
Special-purpose implementations of Lists and Maps for fast access Adapter
classes from Java1-style containers (arrays, enumerations) to Java 2-style
collections. Methods to test or create typical set-theory properties of
collections such as union, intersection, and closure.
The standard Java libraries fail to provide enough methods for
manipulation of its core classes. The Lang Component provides
these extra methods.
The Lang Component provides a host of helper utilities for the
java.lang API, notably String manipulation methods, basic
numerical methods, object reflection, creation and serialization,
and System properties. Additionally it contains an inheritable
enum type, an exception structure that supports multiple types of
nested-Exceptions and a series of utlities dedicated to help with
building methods, such as hashCode, toString and equals.
Jakarta Commons Logging library.
There is a great need for debugging and logging information inside of Commons
components such as HTTPClient and DBCP. However, there are many logging APIs
out there and it is difficult to choose among them.
The Logging package is an ultra-thin bridge between different logging
libraries. Commons components may use the Logging API to remove compile-time
and run-time dependencies on any particular logging package, and contributors
may write Log implementations for the library of their choice.
Apache Jakarta Commons Primitives provides a collection of types and utilities
optimized for working with Java primitives (boolean, byte, char, double, float,
int, long, short). Generally, the Commons-Primitives classes are faster,
smaller and easier to work with than their purely Object based alternatives.
Currently Commons Primitives is primarily composed of implementations of the
java.util collections adapted for the primitive types.
This is a pure-Java implementation of Berkeley DB by SleepyCat (now
Oracle). Java-1.7 is required for building. From the
"Berkeley DB JE was designed from the ground up in Java. It takes full
advantage of the Java environment. The Berkeley DB JE API provides a
Java Collections-style interface, as well as a programmatic interface
similar to the Berkeley DB API.
Berkeley DB JE is different from all other Java databases available
today. Berkeley DB JE is not a relational engine built in Java. It
is a Berkeley DB-style embedded store, with an interface designed
for programmers, not DBAs. Berkeley DB JE's architecture employs a
log-based, no-overwrite storage system, enabling high concurrency and
speed while providing ACID transactions and record-level locking.
Berkeley DB JE efficiently caches most commonly used data in memory,
without exceeding application-specified limits. In this way Berkeley
DB JE works with an application to use available JVM resources while
providing access to very large data sets.
The Berkeley DB JE architecture provides an underlying storage layer
for any Java application requiring high performance, transactional
integrity and recoverability."
The JavaMail API provides a platform-independent and protocol-independent
framework to build mail and messaging applications. The JavaMail API is
available as an optional package for use with Java SE platform and is
also included in the Java EE platform.