Class ClassTraversal

java.lang.Object
nablarch.core.util.ClassTraversal

public final class ClassTraversal extends Object
クラスに対して処理を行うためのユーティリティクラス。
  • Method Details

    • forEach

      public static void forEach(File rootDir, String rootPackage, ClassTraversal.ClassHandler handler)
      ファイルシステム配下の指定されたルートパッケージ以下のクラスを処理する。
      Parameters:
      rootDir - ルートディレクトリ
      rootPackage - ルートパッケージ
      handler - クラスを処理するハンドラ
    • forEach

      public static void forEach(JarFile jarFile, ClassTraversal.ClassHandler handler)
      jarファイルに含まれるクラスを処理する。

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

      Parameters:
      jarFile - Jarファイル
      handler - クラスを処理するハンドラ
    • forEach

      public static void forEach(JarFile jarFile, String prefix, ClassTraversal.ClassHandler handler)
      jarファイルに含まれるクラスを処理する。

      jarファイル内のエントリのうち、接頭辞で始まるパスを持つクラスが処理対象となる。

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

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