|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object org.seasar.util.io.ClassTraversalUtil
public abstract class ClassTraversalUtil
クラスを横断して処理するためのハンドラです。
ClassHandler
,
TraversalUtil
フィールドの概要 | |
---|---|
protected static String |
CLASS_SUFFIX
クラスファイルの拡張子 |
protected static String |
WAR_FILE_EXTENSION
WARファイルの拡張子 |
protected static String |
WEB_INF_CLASSES_PATH
WARファイル内のクラスファイルのエントリプレフィックス |
コンストラクタの概要 | |
---|---|
ClassTraversalUtil()
|
メソッドの概要 | |
---|---|
static void |
forEach(File rootDir,
ClassHandler handler)
ルートディレクトリ配下を処理します。 |
static void |
forEach(File rootDir,
String rootPackage,
ClassHandler handler)
ファイルシステムに含まれるクラスをトラバースします。 |
static void |
forEach(JarFile jarFile,
ClassHandler handler)
Jarファイルに含まれるクラスをトラバースします。 |
static void |
forEach(JarFile jarFile,
String prefix,
ClassHandler handler)
Jarファイルに含まれるクラスをトラバースします。 |
static void |
forEach(ZipInputStream zipInputStream,
ClassHandler handler)
ZIPファイル形式の入力ストリームに含まれるクラスをトラバースします。 |
static void |
forEach(ZipInputStream zipInputStream,
String prefix,
ClassHandler handler)
ZIPファイル形式の入力ストリームに含まれるクラスをトラバースします。 |
protected static File |
getPackageDir(File rootDir,
String rootPackage)
ルートパッケージに対応するディレクトリを表す File を返します。 |
protected static void |
traverseFileSystem(File dir,
String packageName,
ClassHandler handler)
ファイルシステムに含まれるクラスをトラバースします。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected static final String CLASS_SUFFIX
protected static final String WAR_FILE_EXTENSION
protected static final String WEB_INF_CLASSES_PATH
コンストラクタの詳細 |
---|
public ClassTraversalUtil()
メソッドの詳細 |
---|
public static void forEach(File rootDir, ClassHandler handler)
rootDir
- ルートディレクトリ。nullであってはいけませんhandler
- クラスを処理するハンドラ。nullであってはいけませんpublic static void forEach(File rootDir, String rootPackage, ClassHandler handler)
rootDir
- ルートディレクトリ。nullであってはいけませんrootPackage
- ルートパッケージhandler
- クラスを処理するハンドラ。nullであってはいけませんpublic static void forEach(JarFile jarFile, ClassHandler handler)
指定されたJarファイルが拡張子.war
を持つ場合は、 Jarファイル内のエントリのうち、 接頭辞
WEB-INF/classes
で始まるパスを持つエントリがトラバースの対象となります。
クラスを処理するハンドラには、接頭辞を除くエントリ名が渡されます。 例えばJarファイル内に
/WEB-INF/classes/ccc/ddd/Eee.class
というクラスファイルが存在すると、 ハンドラには
パッケージ名ccc.ddd
およびクラス名Eee
が渡されます。
jarFile
- Jarファイル。nullであってはいけませんhandler
- クラスを処理するハンドラ。nullであってはいけませんpublic static void forEach(JarFile jarFile, String prefix, ClassHandler handler)
Jarファイル内のエントリのうち、接頭辞で始まるパスを持つエントリがトラバースの対象となります。
クラスを処理するハンドラには、接頭辞を除くエントリ名が渡されます。 例えば接頭辞が /aaa/bbb/
で、Jarファイル内に /aaa/bbb/ccc/ddd/Eee.class
というクラスファイルが存在すると、
ハンドラには パッケージ名ccc.ddd
およびクラス名Eee
が渡されます。
jarFile
- Jarファイル。nullであってはいけませんprefix
- トラバースするリソースの名前が含む接頭辞。nullであってはいけません。
空文字列でない場合はスラッシュ('/')で終了していなければなりませんhandler
- クラスを処理するハンドラ。nullであってはいけませんpublic static void forEach(ZipInputStream zipInputStream, ClassHandler handler)
zipInputStream
- ZIPファイル形式の入力ストリーム。nullであってはいけませんhandler
- クラスを処理するハンドラ。nullであってはいけませんpublic static void forEach(ZipInputStream zipInputStream, String prefix, ClassHandler handler)
入力ストリーム内のエントリのうち、接頭辞で始まるパスを持つエントリがトラバースの対象となります。
クラスを処理するハンドラには、接頭辞を除くエントリ名が渡されます。 例えば接頭辞が /aaa/bbb/
で、入力ストリーム内に /aaa/bbb/ccc/ddd/Eee.class
というクラスファイルが存在すると、
ハンドラには パッケージ名ccc.ddd
およびクラス名Eee
が渡されます。
zipInputStream
- ZIPファイル形式の入力ストリーム。nullであってはいけませんprefix
- トラバースするリソースの名前が含む接頭辞。nullであってはいけません。
空文字列でない場合はスラッシュ('/')で終了していなければなりませんhandler
- クラスを処理するハンドラ。nullであってはいけませんprotected static void traverseFileSystem(File dir, String packageName, ClassHandler handler)
dir
- 基点となるディレクトリpackageName
- トラバースするパッケージ名handler
- クラスを処理するハンドラprotected static File getPackageDir(File rootDir, String rootPackage)
File
を返します。
rootDir
- ルートディレクトリrootPackage
- ルートパッケージ
File
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |