|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.seasar.util.io.TraversalUtil
public abstract class TraversalUtil
ファイルシステム上やJarファイル中に展開されている、クラスやリソースの集まりを横断的に処理するためのユーティリティです。
対象となるファイルシステム上のディレクトリや、Jarファイルの一などはURLによって与えられます。 URLのプロトコルに応じて適切な
Traverserが返されるので、そのメソッドを呼び出すことでクラスやリソースをトラバースすることが出来ます。
次のプロトコルをサポートしています。
URLUtil.toCanonicalProtocol(String),
ClassTraversalUtil,
ResourceTraversalUtil| 入れ子のクラスの概要 | |
|---|---|
static class |
TraversalUtil.FileSystemTraverser
ファイルシステム上のリソースの集まりを扱うオブジェクトです。 |
static class |
TraversalUtil.JarFileTraverser
Jarファイル中のリソースの集まりを扱うオブジェクトです。 |
static interface |
TraversalUtil.TraverserFactory
Traverserのインスタンスを作成するファクトリです。 |
static class |
TraversalUtil.VfsZipTraverser
JBossAS5のvfszipプロトコルで表されるリソースの集まりを扱うオブジェクトです。 |
| フィールドの概要 | |
|---|---|
protected static Traverser[] |
EMPTY_ARRAY
空の Traverserの配列です。 |
protected static ConcurrentMap<String,TraversalUtil.TraverserFactory> |
traverserFactories
URLのプロトコルをキー、 TraversalUtil.TraverserFactoryを値とするマッピングです。 |
| コンストラクタの概要 | |
|---|---|
TraversalUtil()
|
|
| メソッドの概要 | |
|---|---|
static void |
addTraverserFactory(String protocol,
TraversalUtil.TraverserFactory factory)
TraversalUtil.TraverserFactoryを追加します。 |
protected static File |
getBaseDir(URL url,
String baseName)
ファイルを表すURLからルートパッケージの上位となるベースディレクトリを求めて返します。 |
static Traverser |
getTraverser(Class<?> referenceClass)
指定のクラスを基点とする、リソースやクラスの集まりを扱う Traverserを返します。 |
static Traverser |
getTraverser(String rootDir)
指定のディレクトリを基点とする、クラスやリソースの集まりを扱う Traverserを返します。 |
protected static Traverser |
getTraverser(URL url,
String rootPackage,
String rootDir)
URLを扱う Traverserを作成して返します。 |
static Traverser[] |
getTraversers(String rootPackage)
指定のルートパッケージを基点とする、クラスやリソースの集まりを扱う Traverserの配列を返します。 |
protected static String |
toClassFile(String className)
クラス名をクラスファイルのパス名に変換して返します。 |
protected static String |
toDirectoryName(String packageName)
パッケージ名をディレクトリ名に変換して返します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
protected static final Traverser[] EMPTY_ARRAY
Traverserの配列です。
protected static final ConcurrentMap<String,TraversalUtil.TraverserFactory> traverserFactories
TraversalUtil.TraverserFactoryを値とするマッピングです。
| コンストラクタの詳細 |
|---|
public TraversalUtil()
| メソッドの詳細 |
|---|
public static void addTraverserFactory(String protocol,
TraversalUtil.TraverserFactory factory)
TraversalUtil.TraverserFactoryを追加します。
protocol - URLのプロトコル。nullや空文字列であってはいけませんfactory - プロトコルに対応するTraverserのファクトリ。nullであってはいけませんpublic static Traverser getTraverser(Class<?> referenceClass)
Traverserを返します。
このメソッドが返すTraverserは、指定されたクラスをFQNで参照可能なパスをルートとします。 例えば指定されたクラスが
foo.Barで、そのクラスファイルが classes/foo/Bar.classの場合、
このメソッドが返す Traverserはclassesディレクトリ以下のリソースの集合を扱います。
referenceClass - 基点となるクラス。nullであってはいけません
Traverserpublic static Traverser getTraverser(String rootDir)
Traverserを返します。
rootDir - ルートディレクトリ。nullや空文字列であってはいけません
Traverserpublic static Traverser[] getTraversers(String rootPackage)
Traverserの配列を返します。
rootPackage - ルートパッケージ
Traverserの配列
protected static Traverser getTraverser(URL url,
String rootPackage,
String rootDir)
Traverserを作成して返します。
URLのプロトコルが未知の場合はnullを返します。
url - リソースのURLrootPackage - ルートパッケージrootDir - ルートディレクトリ
Traverserprotected static String toDirectoryName(String packageName)
packageName - パッケージ名
protected static String toClassFile(String className)
className - クラス名
protected static File getBaseDir(URL url,
String baseName)
url - ファイルを表すURLbaseName - ベース名
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||