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

クラス FileMap

  • すべての実装されたインタフェース:
    Cleanable

    public final class FileMap
    extends Object
    implements Cleanable
    FileMap は、ファイルを読み取って、キー情報から、ファイルへのリンクを作成するための 情報を返します。 ファイルそのものは、指定のディレクトリをすべて読み取り、拡張子以外の部分を、キーとして 登録します。(キーは大文字に統一されます。) 実際のファイルの拡張子は、リンク作成時の処理で付与されます。 例えば、HELPファイルを、XXXX.html や、XXXX.htm 、XXXX.pdf など、色々な形態で作成した 場合でも、キーとしては、XXXX で存在チェックをかけることができるようになります。 ファイルは、一旦すべて読み取ってメモリ上で管理されます。 ディレクトリの再読取が必要な場合は、オブジェクトを再作成する必要があります。
    導入されたバージョン:
    JDK5.0,
    • コンストラクタの詳細

      • FileMap

        public FileMap()
        デフォルトコンストラクター
    • メソッドの詳細

      • init

        public void init​(String dir,
                         String path)
        読み取るディレクトリを指定して、ファイルマップを構築します。 このディレクトリは、OSに対する物理アドレスになります。
        パラメータ:
        dir - ディレクトリ
        path - ファイル名に付与するパス文字列
      • init

        public void init​(String dir,
                         String path,
                         Set<String> resourcePaths)
        すでに読み取った Set オブジェクトを指定して、ファイルマップを構築します。 これは、ServletContext を利用した、META-INF/resources からの読み取り対応になります。 一覧を取得するのは、ServletContext 関連の実装が必要になるため、fukurou では java の一般的なオブジェクトである Set を処理するだけとします。 ファイル名は、dir を削除した残りで構築します。フォルダ階層を含みます。 Mapのキーは、フォルダ階層を含まない、ファイル名のみとします。 つまり、フォルダ階層を持ってリソースを用意しておいても、キーとしては、 ファイル名のみを使用します。
        パラメータ:
        dir - ディレクトリ
        path - ファイル名に付与するパス文字列
        resourcePaths - リソースパス
      • exists

        public boolean exists​(String key)
        指定のキーのファイルが存在しているかどうかを返します。 存在している場合は、true , 存在していない場合は、false になります。
        パラメータ:
        key - 指定のキー
        戻り値:
        存在しているかどうか(true:存在する/false:存在しない)
      • getFilename

        public String getFilename​(String... keys)
        キーに対応したファイル名を返します。 指定のキーに対するファイル名が存在しない場合は、null を返します。 引数を可変長引数にして、前から順番にMapを調べます。最初に、null でない 値を返します。最後まで一致しなければ、null を返します。 引数のキーが、nullや、ゼロ配列の場合も、nullになります。
        パラメータ:
        keys - 指定のキー配列(可変長引数)
        戻り値:
        ファイル名(ディレクトリパスは含まず)、存在しない場合は、null
      • isInit

        public boolean isInit()
        初期化が完了しているかどうかを、返します。 完了している場合は、true を返します。未完了、または、clear() 実行後は、falseです。 インスタンスは、init処理が完了するまでは、false が返る為、簡易的な同期処理は 行われています。 (内部のMapへの書き込みは、init処理でのみ行われます。)
        戻り値:
        初期化が完了していればtrue
      • clear

        public void clear()
        初期化(クリア)します。
        定義:
        clear インタフェース内 Cleanable