org.seasar.util.io
クラス ClassTraversalUtil

java.lang.Object
  上位を拡張 org.seasar.util.io.ClassTraversalUtil

public abstract class ClassTraversalUtil
extends Object

クラスを横断して処理するためのハンドラです。

作成者:
koichik
関連項目:
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
 

フィールドの詳細

CLASS_SUFFIX

protected static final String CLASS_SUFFIX
クラスファイルの拡張子

関連項目:
定数フィールド値

WAR_FILE_EXTENSION

protected static final String WAR_FILE_EXTENSION
WARファイルの拡張子

関連項目:
定数フィールド値

WEB_INF_CLASSES_PATH

protected static final String WEB_INF_CLASSES_PATH
WARファイル内のクラスファイルのエントリプレフィックス

関連項目:
定数フィールド値
コンストラクタの詳細

ClassTraversalUtil

public ClassTraversalUtil()
メソッドの詳細

forEach

public static void forEach(File rootDir,
                           ClassHandler handler)
ルートディレクトリ配下を処理します。

パラメータ:
rootDir - ルートディレクトリ。nullであってはいけません
handler - クラスを処理するハンドラ。nullであってはいけません

forEach

public static void forEach(File rootDir,
                           String rootPackage,
                           ClassHandler handler)
ファイルシステムに含まれるクラスをトラバースします。

パラメータ:
rootDir - ルートディレクトリ。nullであってはいけません
rootPackage - ルートパッケージ
handler - クラスを処理するハンドラ。nullであってはいけません

forEach

public static void forEach(JarFile jarFile,
                           ClassHandler handler)
Jarファイルに含まれるクラスをトラバースします。

指定されたJarファイルが拡張子.warを持つ場合は、 Jarファイル内のエントリのうち、 接頭辞 WEB-INF/classesで始まるパスを持つエントリがトラバースの対象となります。 クラスを処理するハンドラには、接頭辞を除くエントリ名が渡されます。 例えばJarファイル内に /WEB-INF/classes/ccc/ddd/Eee.classというクラスファイルが存在すると、 ハンドラには パッケージ名ccc.dddおよびクラス名Eeeが渡されます。

パラメータ:
jarFile - Jarファイル。nullであってはいけません
handler - クラスを処理するハンドラ。nullであってはいけません

forEach

public static void forEach(JarFile jarFile,
                           String prefix,
                           ClassHandler handler)
Jarファイルに含まれるクラスをトラバースします。

Jarファイル内のエントリのうち、接頭辞で始まるパスを持つエントリがトラバースの対象となります。 クラスを処理するハンドラには、接頭辞を除くエントリ名が渡されます。 例えば接頭辞が /aaa/bbb/ で、Jarファイル内に /aaa/bbb/ccc/ddd/Eee.classというクラスファイルが存在すると、 ハンドラには パッケージ名ccc.dddおよびクラス名Eeeが渡されます。

パラメータ:
jarFile - Jarファイル。nullであってはいけません
prefix - トラバースするリソースの名前が含む接頭辞。nullであってはいけません。 空文字列でない場合はスラッシュ('/')で終了していなければなりません
handler - クラスを処理するハンドラ。nullであってはいけません

forEach

public static void forEach(ZipInputStream zipInputStream,
                           ClassHandler handler)
ZIPファイル形式の入力ストリームに含まれるクラスをトラバースします。

パラメータ:
zipInputStream - ZIPファイル形式の入力ストリーム。nullであってはいけません
handler - クラスを処理するハンドラ。nullであってはいけません

forEach

public static void forEach(ZipInputStream zipInputStream,
                           String prefix,
                           ClassHandler handler)
ZIPファイル形式の入力ストリームに含まれるクラスをトラバースします。

入力ストリーム内のエントリのうち、接頭辞で始まるパスを持つエントリがトラバースの対象となります。 クラスを処理するハンドラには、接頭辞を除くエントリ名が渡されます。 例えば接頭辞が /aaa/bbb/ で、入力ストリーム内に /aaa/bbb/ccc/ddd/Eee.classというクラスファイルが存在すると、 ハンドラには パッケージ名ccc.dddおよびクラス名Eeeが渡されます。

パラメータ:
zipInputStream - ZIPファイル形式の入力ストリーム。nullであってはいけません
prefix - トラバースするリソースの名前が含む接頭辞。nullであってはいけません。 空文字列でない場合はスラッシュ('/')で終了していなければなりません
handler - クラスを処理するハンドラ。nullであってはいけません

traverseFileSystem

protected static void traverseFileSystem(File dir,
                                         String packageName,
                                         ClassHandler handler)
ファイルシステムに含まれるクラスをトラバースします。

パラメータ:
dir - 基点となるディレクトリ
packageName - トラバースするパッケージ名
handler - クラスを処理するハンドラ

getPackageDir

protected static File getPackageDir(File rootDir,
                                    String rootPackage)
ルートパッケージに対応するディレクトリを表すFileを返します。

パラメータ:
rootDir - ルートディレクトリ
rootPackage - ルートパッケージ
戻り値:
パッケージに対応するディレクトリを表すFile


Copyright © 2010-2012 The Seasar Foundation. All Rights Reserved.