Class FilePathSetting

java.lang.Object
nablarch.core.util.FilePathSetting

@Published(tag="architect") public class FilePathSetting extends Object
ベースパスの論理名と物理パスとの対応を管理するクラス。
Author:
Iwauo Tajima
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    addBasePathSetting(String basePathName, String path)
    ベースパスの設定を追加する。
    addFileExtensions(String name, String extension)
    ベースパスの論理名に対応する拡張子を追加する。
    getBaseDirectory(String basePathName)
    ベースディレクトリを取得する。
    ベースパスの論理名と物理パスとの対応を収めたMapを取得する。
    getBasePathUrl(String basePathName)
    ベースパスのURLを取得する。
    getFile(String basePathName, String fileName)
    指定されたベースパスの直下に存在するファイルの抽象パスを取得する。 ファイルが存在しない場合は新たにファイルを作成してその抽象パスを返却する。
    ベースパスの論理名と拡張子との対応を収めたMapを取得する。
    getFileIfExists(String basePathName, String fileName)
    指定されたベースパスの直下に存在するファイルの抽象パスを取得する。 その抽象パスを返却する。ファイルが存在しない場合はnullを返却する。
    protected String
    getFileNameJoinExtension(String basePathName, String fileName)
    ベースパスの論理名に対応する拡張子が存在する場合、ファイル名と拡張子を結合した文字列を返却する。 対応する拡張子が存在しない場合は、引数のファイル名をそのまま返却する。
    getFileWithoutCreate(String basePathName, String fileName)
    指定されたベースパスの直下に存在するファイルの抽象パスを取得する。
    このクラスのインスタンスをリポジトリより取得する。 リポジトリにインスタンスが存在しない場合は、デフォルトの設定で生成したこのクラスのインスタンスを返却する。
    protected File
    resolvePath(String basePathName, String fileName, boolean createNew)
    指定されたベースパスの直下に存在するファイルの抽象パスを作成して返却する。
    setBasePathSettings(Map<String,String> basePathSettings)
    ベースパスの論理名と物理パスとの対応を収めたMapを設定する。
    void
    ベースパスの論理名と拡張子との対応を収めたMapを設定する。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FilePathSetting

      public FilePathSetting()
  • Method Details

    • getInstance

      public static FilePathSetting getInstance()
      このクラスのインスタンスをリポジトリより取得する。 リポジトリにインスタンスが存在しない場合は、デフォルトの設定で生成したこのクラスのインスタンスを返却する。
      Returns:
      このクラスのインスタンス
    • getFile

      public File getFile(String basePathName, String fileName) throws IllegalArgumentException
      指定されたベースパスの直下に存在するファイルの抽象パスを取得する。 ファイルが存在しない場合は新たにファイルを作成してその抽象パスを返却する。
      Parameters:
      basePathName - ベースパスの論理名
      fileName - 取得するファイル名
      Returns:
      抽象パス
      Throws:
      IllegalArgumentException - 指定されたベースパス論理名に対応する物理パスが 設定されていない場合
    • getFileIfExists

      public File getFileIfExists(String basePathName, String fileName) throws IllegalArgumentException
      指定されたベースパスの直下に存在するファイルの抽象パスを取得する。 その抽象パスを返却する。ファイルが存在しない場合はnullを返却する。
      Parameters:
      basePathName - ベースパスの論理名
      fileName - 取得するファイル名
      Returns:
      抽象パス
      Throws:
      IllegalArgumentException - 指定されたベースパス論理名に対応する物理パスが 設定されていない場合
    • getFileWithoutCreate

      public File getFileWithoutCreate(String basePathName, String fileName) throws IllegalArgumentException
      指定されたベースパスの直下に存在するファイルの抽象パスを取得する。
      Parameters:
      basePathName - ベースパスの論理名
      fileName - 取得するファイル名
      Returns:
      抽象パス
      Throws:
      IllegalArgumentException - 指定されたベースパス論理名に対応する物理パスが 設定されていない場合
    • resolvePath

      protected File resolvePath(String basePathName, String fileName, boolean createNew) throws IllegalArgumentException
      指定されたベースパスの直下に存在するファイルの抽象パスを作成して返却する。
      Parameters:
      basePathName - ベースパスの論理名
      fileName - 取得するファイル名
      createNew - 指定したファイルが存在しない場合に新規ファイルを 作成するかどうか。(作成する場合はtrue)
      Returns:
      抽象パス
      Throws:
      IllegalArgumentException - 指定されたベースパス論理名に対応する物理パスが 設定されていない場合
    • getBasePathUrl

      public URL getBasePathUrl(String basePathName)
      ベースパスのURLを取得する。
      Parameters:
      basePathName - ベースパスの論理名
      Returns:
      URL
    • getBaseDirectory

      public File getBaseDirectory(String basePathName)
      ベースディレクトリを取得する。
      Parameters:
      basePathName - ベースパスの論理名
      Returns:
      ベースディレクトリ
    • getFileNameJoinExtension

      protected String getFileNameJoinExtension(String basePathName, String fileName)
      ベースパスの論理名に対応する拡張子が存在する場合、ファイル名と拡張子を結合した文字列を返却する。 対応する拡張子が存在しない場合は、引数のファイル名をそのまま返却する。
      Parameters:
      basePathName - ベースパスの論理名
      fileName - ファイル名
      Returns:
      ファイル名と拡張子を結合した文字列
    • setBasePathSettings

      public FilePathSetting setBasePathSettings(Map<String,String> basePathSettings)
      ベースパスの論理名と物理パスとの対応を収めたMapを設定する。
      Parameters:
      basePathSettings - ベースパスの論理名と物理パス(URLで指定)との対応を収めたMap
      Returns:
      このクラス自体のインスタンス
    • addBasePathSetting

      public FilePathSetting addBasePathSetting(String basePathName, String path)
      ベースパスの設定を追加する。

      ベースパスにはディレクトリのみ指定できる。ディレクトリでない場合、例外をスローする。

      ベースパスはURLで指定すること。URLを使用して、ファイルシステムとクラスパス上のリソースを指定することができる。
      URLのフォーマットは下記の通りである。

           <スキーム名>:<リソースのパス>
      
           スキーム名:
               ファイルパスの場合 "file"
               クラスパスの場合 "classpath"
       
      URLの指定例を下記に示す。
           ファイルパスの場合
               "file:./main/format"
      
           クラスパスの場合
               "classpath:web/format"
       
      ベースパスにクラスパスを指定する場合、そのパスにはディレクトリが存在している必要がある。ディレクトリが存在しない場合は、例外をスローする。

      ベースパスにファイルパスを指定する場合、そのパスにディレクトリが存在していなければ、本メソッド内でディレクトリを作成する。

      Parameters:
      basePathName - ベースパスの論理名
      path - ベースパス(URLで指定)
      Returns:
      このクラス自体のインスタンス
    • addFileExtensions

      public FilePathSetting addFileExtensions(String name, String extension)
      ベースパスの論理名に対応する拡張子を追加する。
      Parameters:
      name - ベースパスの論理名
      extension - ベースパスの論理名に対応する拡張子
      Returns:
      このクラス自体のインスタンス
    • getBasePathSettings

      public Map<String,URL> getBasePathSettings()
      ベースパスの論理名と物理パスとの対応を収めたMapを取得する。
      Returns:
      ベースパスの論理名と物理パスとの対応を収めたMap
    • getFileExtensions

      public Map<String,String> getFileExtensions()
      ベースパスの論理名と拡張子との対応を収めたMapを取得する。
      Returns:
      ベースパスの論理名とデフォルト拡張子との対応を収めたMap
    • setFileExtensions

      public void setFileExtensions(Map<String,String> fileExtensions)
      ベースパスの論理名と拡張子との対応を収めたMapを設定する。
      Parameters:
      fileExtensions - ベースパスの論理名とデフォルト拡張子との対応を収めたMap