コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

「Apache Commons」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
Iwai.masaharu (会話 | 投稿記録)
Cewbot (会話 | 投稿記録)
m Bot作業依頼: sourceタグをsyntaxhighlightタグに置換 (Category:非推奨のsourceタグを使用しているページ) - log
77行目: 77行目:
<code>Object.equals()</code> を拡張した物。nullが入っていても比較が可能である。
<code>Object.equals()</code> を拡張した物。nullが入っていても比較が可能である。


<source lang="java">
<syntaxhighlight lang="java">
String s1 = null;
String s1 = null;
String s2 = "abc";
String s2 = "abc";
83行目: 83行目:
System.out.println("equal");
System.out.println("equal");
}
}
</syntaxhighlight>
</source>


==== 例2 ====
==== 例2 ====
89行目: 89行目:
Java のデフォルトの <code>Object.toString()</code> はメンバ変数の内容まで表示してくれないが、リフレクションを使用して、メンバ変数の内容を表示する形で、<code>Object.toString()</code> を実装する。
Java のデフォルトの <code>Object.toString()</code> はメンバ変数の内容まで表示してくれないが、リフレクションを使用して、メンバ変数の内容を表示する形で、<code>Object.toString()</code> を実装する。


<source lang="java">
<syntaxhighlight lang="java">
public String toString() {
public String toString() {
return ToStringBuilder.reflectionToString(this);
return ToStringBuilder.reflectionToString(this);
}
}
</syntaxhighlight>
</source>


=== Commons Collections ===
=== Commons Collections ===
102行目: 102行目:
Java 6 には[[クロージャ]]がないが、<code>Predicate</code> を実装することで、条件を満たす物を探すことができる。以下、リストから、a で始まる物を見つけ出す。
Java 6 には[[クロージャ]]がないが、<code>Predicate</code> を実装することで、条件を満たす物を探すことができる。以下、リストから、a で始まる物を見つけ出す。


<source lang="java">
<syntaxhighlight lang="java">
ArrayList<String> list = new ArrayList<String>();
ArrayList<String> list = new ArrayList<String>();
list.add("apple");
list.add("apple");
112行目: 112行目:
}
}
});
});
</syntaxhighlight>
</source>


== Commons Sandbox ==
== Commons Sandbox ==

2020年7月5日 (日) 22:41時点における版

Apache Commons(アパッチ コモンズ)は、Apacheソフトウェア財団の傘下にある再利用可能なJavaコンポーネントをまとめたApacheのトッププロジェクト。Commonsの目的は再利用可能なオープンソースJavaソフトウェアを提供することである。Commonsは三つの部分、proper(プロパー), sandbox(サンドボックス), dormant(活動休止)から構成されている。

Commonsにはjava.langパッケージの機能を拡張するLang、Javaのコレクションフレームワークを拡張するクラス群を集めたCollectionsなどがある。

Commons Proper

The Commons Properは役立つJavaコンポーネントを開発維持すること専用に作られている。Common Properはコラボレーションシェアリングの役割を持っているが、Jakartaコミュニティの至る所からのディベロッパーがJakartaプロジェクトとJakartaユーザによってシェアされるためにプロジェクトで共に活動できる。

Commonディベロッパーはコンポーネントが他のソフトウェアライブラリに最小限に依存することを保証するよう努力する。それで、これらのコンポーネントは容易にデプロイ(配備)できる。加えて、Commonsコンポーネントは可能な限りインタフェースを保つ。それで、(他のJakartaサブプロジェクトを含む)Jakartaユーザはこれらのコンポーネントを、将来変更される心配無く実装することができる。

2006年8月にはこれらはCommons Properでは30以上のプロジェクトになり、5つの一般カテゴリに分類されている。

Commons Proper の一般カテゴリ一覧
コンポーネントカテゴリ
Web関連 FileUpload, HTTPClient, and Net
XML関連 Betwixt, Digester, Jelly, and JXPath
ユーティリティ BeanUtils, Configuration, Logging, DBCP, Pool, and Validator
パッケージ Codec and Modeler
ありふれたもの CLI, Discovery, Lang, and Collections

( & Goyal 2003)からの表

サブプロジェクト

Commons Lang

Commons Lang には java.lang を拡張した物が入っている。

例1

Object.equals() を拡張した物。nullが入っていても比較が可能である。

String s1 = null;
String s2 = "abc";
if(ObjectUtils.equals(s1, s2)) {
    System.out.println("equal");
}

例2

Java のデフォルトの Object.toString() はメンバ変数の内容まで表示してくれないが、リフレクションを使用して、メンバ変数の内容を表示する形で、Object.toString() を実装する。

public String toString() {
    return ToStringBuilder.reflectionToString(this);
}

Commons Collections

Apache Commons Collections には、主に、java.util の Collection 関係の拡張した物が入っている。

Java 6 にはクロージャがないが、Predicate を実装することで、条件を満たす物を探すことができる。以下、リストから、a で始まる物を見つけ出す。

ArrayList<String> list = new ArrayList<String>();
list.add("apple");
list.add("banana");
list.add("ant");
Collection<?> aList = CollectionUtils.select(list, new Predicate() {
    public boolean evaluate(Object obj) {
        return ((String)obj).startsWith("a");
    }
});

Commons Sandbox

The Commons SandboxはJakartaコントリビュータがCommons Properに含まれていないプロジェクトで協業し実験する作業環境である。サンドボックスにあるプロジェクトはCommons Properの推進に関するJakartaのメンバによって支持されており、ディベロッパーのグループは彼らが推進に関して基準に満たすまでサンドボックスを一層よくするために活動している。

Apache CommonsにはCommons Sandboxのプロジェクトの現在のリストが存在する Sandbox page

Commons Dormant

Commons Dormantは最近の開発活動が矮小化していることが原因で不活性と宣告されたコンポーネントの集合である。これらのコンポーネントは役に立つかも知れないが、あなた自身でビルドしなければならない。これらのコンポーネントは近い将来リリースされないと思ったほうが良い。

Apache Commonsには利用できるCommons Dormantプロジェクトの現在のリストが存在するDormant page

関連項目

  • Google Guava - Googleによって開発されているオープンソースのJavaユーティリティライブラリ群。後方互換性の確保を担保しているApache Commonsと違い、JDK 1.6以降を対象として開発されている。

参考

Goyal, Vikram (2003年6月25日). “Using the Jakarta Commons, Part I”. August 13, 2006閲覧。

外部リンク