パッケージ org.opengion.fukurou.util

# クラス FindClassFiles

java.lang.Object
org.opengion.fukurou.util.FindClassFiles

public final class FindClassFiles extends Object
このクラスは、指定のディレクトリパスから .class ファイルを検索するクラスです。 検索パスは、実ファイルと、zipファイルの内部、jar ファイルの内部も含みます。 検索結果は、.class を取り除き、ファイルパスを、すべてドット(.)に変換した形式にします。 これは、ほとんどクラスのフルパス文字列に相当します。 ここで取得されたファイル名より、実クラスオブジェクトの作成が可能になります。 このクラスの main メソッドは、クラスパスから指定の名前を持つクラス以下のディレクトリより ファイルを検索します。通常、このクラスの使い方として、取得したクラスファイル名(文字列) から、引数なしコンストラクタを呼び出して、実オブジェクトを生成させるので、通常のフォルダ から検索するより、クラスパス内から検索するペースが多いため、サンプルをそのように設定 しています。

変更履歴:
  4.0.0.0 (2004/12/31) 新規作成
機能分類
  初期化
導入されたバージョン:
  JDK5.0,

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `FindClassFiles(String filepath, String keyword)`
  検索パスを指定して構築する、コンストラクタです。

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `String[]`
  `getFilenames()`
  ファイルパスを ドット(.)に置き換え、.class を取り除いた形式(クラスの完全系)の文字列配列。
  `static void`
  `main(String[] args)`
  サンプルメイン ここでは、引数に通常のファイルではなく、クラスパスより取得します。

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## コンストラクタの詳細

  - ### FindClassFiles

    public FindClassFiles(String filepath, String keyword)
    検索パスを指定して構築する、コンストラクタです。 ここで見つかったパス以下の classファイル(拡張子は小文字で、.class )を検索します。 このファイル名は ファイルパスを ドット(.)に置き換え、.class を取り除いた格納しておきます。 ※ Tomcat8.0.3 では、ClassLoader の getResources(String)で取得するURL名が、 /C:/opengionV6/uap/webapps/gf/WEB-INF/classes/org/opengion/plugin/ の形式で、最後の "/" を取る為、filepath.length() - 1 処理していましたが、 Tomcat8.0.5 では、/C:/opengionV6/uap/webapps/gf/WEB-INF/classes/org/opengion/plugin の形式で、最後の "/" がなくなっています。 最後の "/" があってもなくても、new File(String) でディレクトリのオブジェクトを 作成できるため、filepath.length() に変更します。
    パラメータ:
      `filepath` - 対象となるファイル群を検索する、ファイルパス
      `keyword` - 検索対象ファイルのキーワード
    変更履歴:
      4.0.3.0 (2007/01/07) UNIXパス検索時の、ファイルパスの取得方法の不具合対応, 5.0.0.0 (2009/08/03) UNIXパス検索時の、ファイルパスの取得方法の不具合対応, 5.0.0.0 (2009/08/03) UNIXパス検索時の、ファイルパスの取得方法の不具合対応, 5.7.5.0 (2014/04/04) ファイル名の取得方法の修正

- ## メソッドの詳細

  - ### getFilenames

    public String[] getFilenames()
    ファイルパスを ドット(.)に置き換え、.class を取り除いた形式(クラスの完全系)の文字列配列。
    戻り値:
      ファイルパスの文字列配列
    このﾒｿｯﾄﾞは、nullを返しません

  - ### main

    public static void main(String[] args)
    サンプルメイン ここでは、引数に通常のファイルではなく、クラスパスより取得します。 通常、取得されたファイル名は、クラスの完全系の文字列なので、クラスパスより取得 している限り、そのまま オブジェクトを構築できることを意味します。
    パラメータ:
      `args` - 引数
    変更履歴:
      6.8.5.1 (2018/01/15) ファイル名は、##バージョン番号を変換しておく必要がある。