Apache Commonsを総ざらってみる。
ということで、現状のコンポーネントをリストアップして、概要を日本語(一部英語のままw)でまとめてみました。今後、個人的に興味のあるものを順にピックアップして、もう少し深く知っておく、という作業をしてみようかな、と思ってます。
まずは、commons-langを掘ってみている。すげええええええの連続です。近々ご紹介しますとも。
Properシリーズ(正式プロジェクト)
コンポーネント | mvn | 説明 | 参考 |
---|---|---|---|
attributes | ○ | メタデータ属性(docletタグ等)ランタイムAPI。javadoc内アノテーションを処理する。Java4以前で有用かも。 | 参考 |
beanutils | ○ | Reflection/Introspection APIのラッパー | 123 |
betwixt | ○ | JavaBeans・XML間の相互マッピングAPI | 参考 |
chain | ○ | "Chain of Responsibility"パターンの実装。 | |
cli | ○ | コマンドラインの引数・オプション・オプショングループ・強制オプションなどの処理API。 | |
codec | ○ | 一般的な「エンコード/デコード」のアルゴリズムをカプセル化。 | |
collections | ○ | Java Collections Frameworkの拡張・追加クラス群 | |
configuration | ○ | confやproperties等、さまざまなフォーマットの設定ファイルを読み込むAPI。 | # |
daemon | ○ | Unixデーモンに似た、Invokeの代わりとなるJavaコードによるメカニズムを提供。 | |
dbcp | ○ | データベース・コネクションプーリングに関するサービスを提供。 | |
dbutils | ○ | JDBCの関数及びコンポーネント群。 | |
digester | ○ | XMLで記述された設定ファイルを解析する、XMとJavaオブジェクトのマッピングユーティリティ。 | |
discovery | ○ | 様々なスキーマを使ってサービス/リファレンスの名称をリソース(クラスファイル群を含む)にマッピングすることにより、リソースの場所を示す為のツール。 | |
el | ○ | JSP 2.0表現言語のインタプリタ。 | |
○ | Javaからメールを送るシンプルなライブラリ。 | # | |
exec | × | Javaにおける外部プロセス実行や環境管理を行う。 | |
fileupload | ○ | 容易且つ堅牢でハイパフォーマンスなファイルアップロード機能をサーブレット及びWebアプリケーションに提供 | |
io | ○ | I/Oユーティリティ群 | # |
jci | ○ | Javaで実装されたJavaコンパイラインタフェース。 | 参考 |
jelly | ○ | XMLベースのスクリプト処理エンジン。 | |
jexl | ○ | JSTLの表現言語を拡張した表現言語。 | |
jxpath | ○ | JavaBeansを、XPath文法に基づいて操作するためのユーティリティ。mapやDOMやその他のオブジェクトモデルもサポート。 | |
lang | ○ | java.langクラスの追加機能を提供する汎用的なユーティリティクラス群。 | # |
launcher | ○ | クロスプラットホームな、Javaアプリケーションのランチャー。 | |
logging | ○ | 様々なログ用APIのラッパークラス群。 | |
math | ○ | 軽量の数学・統計用コンポーネント。 | |
modeler | ○ | JMX仕様と互換のあるModel MBeansを作成するためのAPI。 | |
net | ○ | ネットワークユーティリティ群。 | |
pool | ○ | 汎用オブジェクトプール用インターフェース、モジュール式のオブジェクトプールを生成するツールキット、一般目的の為のオブジェクトプール実装。 | |
primitives | ○ | primitive型のコレクションとユーティリティクラスを提供。 | |
proxy | ○ | ダイナミックプロキシを生成する為のライブラリ。 | |
scxml | ○ | SCXML(State Chart XML)エンジンのJava実装。 | |
transaction | ○ | ファイルアクセスにトランザクション機能 (ACID特性) を提供。 | 参考 |
validator | ○ | XMLファイルの中の妥当性(妥当性メソッド)や妥当性規則を定義する。 | |
vfs | ○ | ファイルやFTP,SMB,ZIPといったものを、単一の論理ファイルシステム(仮想ファイルシステム)として扱うライブラリ。 |
Sandboxシリーズ
コンポーネント | mvn | 説明 | 参考 |
---|---|---|---|
compress | ○ | 圧縮ファイルを扱うためのAPI。 | |
csv | × | CSVの読み書きAPI。 | |
finder | × | UNIXのfindコマンドのような機能を提供。 | |
functor | × | 関数をオブジェクトとして扱うライブラリ。 | |
i18n | ○ | スローする例外や表示するエラー/成功メッセージを特定の地域に合わせてローカライズするライブラリ。 | |
id | × | 識別子(ID)を生成するライブラリ。 | |
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. |
Dormantシリーズ
コンポーネント | mvn | 説明 | 参考 |
---|---|---|---|
cache | × | オブジェクトキャッシュ機能を提供する。 | |
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 | × | provide a single library dedicated to the task of converting an object of one type to another. | |
events | × | additional classes for firing and handling events. It focusses on the Java Collections Framework, providing decorators to other collections that fire events. | |
feedparser | × | Javaによる各種バージョンの RSS/Atom を同じように扱えるパーサ。 | |
jjar | × | Jakarta JAR Archive Repository | |
latka | ○ | QAテスト/承認テスト/リグレッション・テストの自動化の為のHTTP機能テストスイート。 | |
mapper | × | thin abstraction layer around a project's chosen data mapping technology (a.k.a. DAO pattern). | |
messenger | ○ | Web層でJMSが機能する為のフレームワーク。 | |
resources | ○ | java.util.Localeで作成される国際化メッセージ文字列やメッセージキーを規定したり調べたりする軽量のフレームワーク。 | |
scaffold | × | Webアプリケーション構築ツールキット。 | |
threadpool | ○ | オブジェクトプール内のスレッドに処理を非同期的にディスパッチする為のコンポーネント。 | |
workflow | × | ワークフロー管理システムを構築するためのフレームワーク。 | |
xmlio | × | Simple and fast importer for XML configuration or import files. |
Commonsプロジェクト以外にホスティングされているもの
コンポーネント | mvn | 説明 | 参考 |
---|---|---|---|
AltRMI | × | AltRMI is a from-scratch replacement for RMI. It has a number of different features that make it easier to use. It tries as far as possible to be transparent in use. | |
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 | ○ | クライアント側でHTTPプロトコルを操作するフレームワーク | |
naming | ○ | The Naming subproject will contain common JNDI code along with various JNDI providers. |
Maven Reposで見つけた「なんぞこれ」
- commons-grafolia
- commons-grant
- commons-graph
- commons-http
- commons-jdbc2pool
- commons-jux
- commons-services
- commons-sql
- commons-test
- commons-util: 分割された上、commons-lang等、あちこちに統合されたっぽい。
- commons-xo
- commons-build-plugin
- commons-parent
- commons-sandbox-parent
- commons-skin: Mavenのsiteゴールで生成されるページのcssやら画像ファイルが入ってる。