Class ResourcePathRule

java.lang.Object
nablarch.fw.web.i18n.ResourcePathRule
Direct Known Subclasses:
DirectoryBasedResourcePathRule, FilenameBasedResourcePathRule

@Published(tag="architect") public abstract class ResourcePathRule extends Object
言語対応リソースパスのルールを表すクラス。

自身が表すルールに基づき言語対応のリソースパスを提供する。

  • Constructor Details

    • ResourcePathRule

      public ResourcePathRule()
  • Method Details

    • setServletContextCreator

      public void setServletContextCreator(ServletContextCreator servletContextCreator)
      ServletContextCreatorを設定する。
      Parameters:
      servletContextCreator - サーブレットコンテキスト生成クラス
    • getPathForLanguage

      public String getPathForLanguage(String path, jakarta.servlet.http.HttpServletRequest request)
      言語対応のリソースパスを取得する。
       言語はThreadContext.getLanguage()から取得する。
       ThreadContext.getLanguage()から言語を取得できない場合は指定されたリソースパスをそのまま返す。
      
       言語対応のリソースパスが指すファイルが存在する場合は言語対応のリソースパスを返し、
       存在しない場合は指定されたリソースパスをそのまま返す。
       指定されたリソースパスに拡張子を含まない場合は指定されたリソースパスをそのまま返す。
      
       言語対応のリソースパスはcreatePathForLanguage(String, String)メソッドを呼び出し作成する。
       createPathForLanguage(String, String)メソッドはサブクラスにより実装される。
       
      Parameters:
      path - オリジナルのリソースパス
      request - リクエスト
      Returns:
      言語対応のリソースパス
    • existsResource

      protected boolean existsResource(String resourcePath, jakarta.servlet.http.HttpServletRequest request)
      指定されたパスが指すファイルが存在するか否かを判定する。
      Parameters:
      request - リクエスト
      resourcePath - リソースパス
      Returns:
      ファイルが存在する場合はtrue
    • convertToPathFromContextRoot

      protected String convertToPathFromContextRoot(String path, jakarta.servlet.http.HttpServletRequest request)
      コンテキストルートからのパスに変換する。
      Parameters:
      path - パス
      request - リクエスト
      Returns:
      コンテキストルートからのパス
    • createPathForLanguage

      protected abstract String createPathForLanguage(String pathFromContextRoot, String language)
      言語対応のリソースパスを作成する。
      Parameters:
      pathFromContextRoot - コンテキストルートからのパス
      language - 言語
      Returns:
      言語対応のリソースパス