public final class ClassTraversal
extends java.lang.Object
| 修飾子とタイプ | クラスと説明 |
|---|---|
static interface |
ClassTraversal.ClassHandler
クラスを横断して処理するためのハンドラインタフェース。
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
static void |
forEach(java.io.File rootDir,
java.lang.String rootPackage,
ClassTraversal.ClassHandler handler)
ファイルシステム配下の指定されたルートパッケージ以下のクラスを処理する。
|
static void |
forEach(java.util.jar.JarFile jarFile,
ClassTraversal.ClassHandler handler)
jarファイルに含まれるクラスを処理する。
|
static void |
forEach(java.util.jar.JarFile jarFile,
java.lang.String prefix,
ClassTraversal.ClassHandler handler)
jarファイルに含まれるクラスを処理する。
|
public static void forEach(java.io.File rootDir,
java.lang.String rootPackage,
ClassTraversal.ClassHandler handler)
rootDir - ルートディレクトリrootPackage - ルートパッケージhandler - クラスを処理するハンドラpublic static void forEach(java.util.jar.JarFile jarFile,
ClassTraversal.ClassHandler handler)
指定されたjarファイルの拡張子がwarの場合は、 jarファイル内のエントリのうち、
接頭辞WEB-INF/classesで始まるパスを持つクラスが対象となる。
クラスを処理するハンドラには、接頭辞を除くエントリ名が渡される。
例えばjarファイル内に/WEB-INF/classes/ccc/ddd/Eee.classというクラスファイルが存在すると、
ハンドラにはパッケージ名ccc.dddおよびクラス名Eeeが渡される。
jarFile - Jarファイルhandler - クラスを処理するハンドラpublic static void forEach(java.util.jar.JarFile jarFile,
java.lang.String prefix,
ClassTraversal.ClassHandler handler)
jarファイル内のエントリのうち、接頭辞で始まるパスを持つクラスが処理対象となる。
クラスを処理するハンドラには、接頭辞を除くエントリ名が渡される。 例えば接頭辞が/aaa/bbb/で、jarファイル内に /aaa/bbb/ccc/ddd/Eee.classというクラスファイルが存在すると、
ハンドラには パッケージ名ccc.dddおよびクラス名Eeeが渡される。
jarFile - Jarファイルprefix - トラバースするリソースの名前が含む接頭辞。スラッシュ('/')で終了していなければなりません。handler - クラスを処理するハンドラ