都元ダイスケ IT-PRESS このページをアンテナに追加 RSSフィード Twitter

最近は会社ブログしか書いてません。

2008-07-02

[][]Apache Commonsを総ざらってみる。

ということで、現状のコンポーネントをリストアップして、概要を日本語(一部英語のままw)でまとめてみました。今後、個人的に興味のあるものを順にピックアップして、もう少し深く知っておく、という作業をしてみようかな、と思ってます。

まずは、commons-langを掘ってみている。すげええええええの連続です。近々ご紹介しますとも。

Properシリーズ(正式プロジェクト)

コンポーネントmvn説明参考
attributesメタデータ属性(docletタグ等)ランタイムAPIjavadocアノテーションを処理する。Java4以前で有用かも。参考
beanutilsReflection/Introspection APIラッパー123
betwixtJavaBeans・XML間の相互マッピングAPI参考
chain"Chain of Responsibility"パターンの実装。
cliコマンドライン引数オプションオプショングループ・強制オプションなどの処理API
codec一般的な「エンコードデコード」のアルゴリズムカプセル化
collectionsJava Collections Frameworkの拡張・追加クラス群
configurationconfやproperties等、さまざまなフォーマットの設定ファイルを読み込むAPI#
daemonUnixデーモンに似た、Invokeの代わりとなるJavaコードによるメカニズムを提供。
dbcpデータベース・コネクションプーリングに関するサービスを提供。
dbutilsJDBC関数及びコンポーネント群。
digesterXMLで記述された設定ファイルを解析する、XMとJavaオブジェクトマッピングユーティリティ。
discovery様々なスキーマを使ってサービス/リファレンスの名称をリソース(クラスファイル群を含む)にマッピングすることにより、リソースの場所を示す為のツール。
elJSP 2.0表現言語のインタプリタ
emailJavaからメールを送るシンプルなライブラリ#
exec×Javaにおける外部プロセス実行や環境管理を行う。
fileupload容易且つ堅牢でハイパフォーマンスなファイルアップロード機能をサーブレット及びWebアプリケーションに提供
ioI/Oユーティリティ群#
jciJavaで実装されたJavaコンパイラインタフェース参考
jellyXMLベースのスクリプト処理エンジン。
jexlJSTLの表現言語を拡張した表現言語。
jxpathJavaBeansを、XPath文法に基づいて操作するためのユーティリティ。mapやDOMやその他のオブジェクトモデルもサポート。
langjava.langクラスの追加機能を提供する汎用的なユーティリティクラス群。#
launcherクロスプラットホームな、Javaアプリケーションランチャー
logging様々なログ用APIラッパークラス群。
math軽量の数学・統計用コンポーネント
modelerJMX仕様と互換のあるModel MBeansを作成するためのAPI
netネットワークユーティリティ群。
pool汎用オブジェクトプール用インターフェース、モジュール式のオブジェクトプールを生成するツールキット、一般目的の為のオブジェクトプール実装。
primitivesprimitive型のコレクションとユーティリティクラスを提供。
proxyダイナミックプロキシを生成する為のライブラリ
scxmlSCXML(State Chart XML)エンジンのJava実装。
transactionファイルアクセスにトランザクション機能 (ACID特性) を提供。参考
validatorXMLファイルの中の妥当性(妥当性メソッド)や妥当性規則を定義する。
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
latkaQAテスト/承認テスト/リグレッション・テストの自動化の為のHTTP機能テストスイート。
mapper×thin abstraction layer around a project's chosen data mapping technology (a.k.a. DAO pattern).
messengerWeb層でJMSが機能する為のフレームワーク
resourcesjava.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プロトコルを操作するフレームワーク
namingThe Naming subproject will contain common JNDI code along with various JNDI providers.

Maven Reposで見つけた「なんぞこれ

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。