Class RewriteRule<TData,TSelf>

java.lang.Object
nablarch.fw.handler.RewriteRule<TData,TSelf>
Type Parameters:
TData - 処理対象オブジェクトの型
TSelf - 継承型
Direct Known Subclasses:
ContentPathRewriteRule, HttpRequestRewriteRule

@Published(tag="architect") public abstract class RewriteRule<TData,TSelf> extends Object
置換ルール。
Author:
Iwauo Tajima
  • Constructor Details

    • RewriteRule

      public RewriteRule()
  • Method Details

    • getPathToRewrite

      protected abstract String getPathToRewrite(TData data)
      書き換え対象のパスを取得する。
      Parameters:
      data - 処理対象オブジェクト
      Returns:
      書き換え対象パス文字列
    • applyRewrittenPath

      protected abstract void applyRewrittenPath(String rewrittenPath, TData data)
      書き換えられたパスを処理対象オブジェクトに反映する。
      Parameters:
      rewrittenPath - 書き換えられたパス
      data - 処理対象オブジェクト
    • getParam

      protected Object getParam(String scope, String name, TData data, ExecutionContext context)
      変数の値を返す。 この実装では、以下の変数種別に対応する。
       ----------- ------------------------
       種別名       内容
       ----------- ------------------------
       request     リクエストスコープ変数
       session     セッションスコープ変数
       thread      スレッドコンテキスト変数
       ----------- ------------------------
       
      なお、該当する変数が定義されていなかった場合はnullを返す。
      Parameters:
      scope - 変数種別
      name - 変数名
      data - 処理対象オブジェクト
      context - 実行コンテキスト
      Returns:
      変数の値
    • exportParam

      protected void exportParam(String scope, String name, String value, TData data, ExecutionContext context)
      変数を定義する。
      Parameters:
      scope - 変数種別
      name - 変数名
      value - 変数の値
      data - 処理対象オブジェクト
      context - 実行コンテキスト
    • rewrite

      public String rewrite(TData data, ExecutionContext context)
      このオブジェクトの設定に従ってパスの置換処理をおこない、 置換後のパス文字列を返す。 置換処理が行われなかった場合はnullを返す。
      Parameters:
      data - 処理対象オブジェクト
      context - 実行コンテキスト
      Returns:
      置換処理が行われた場合は置換後の文字列。 行われなかった場合はnull。
    • setPattern

      public TSelf setPattern(String pattern)
      この置換ルールが適用されるパスのパターンを正規表現で設定する。
      Parameters:
      pattern - この置換ルールが適用されるパスのパターン
      Returns:
      このオブジェクト自体
    • setRewriteTo

      public TSelf setRewriteTo(String rewriteTo)
      この置換ルールが適用された場合に置き換えられる文字列を指定する。 この文字列中では、以下の埋め込みパラメータを使用することができる。
      Parameters:
      rewriteTo - この置換ルールが適用された場合に置き換えられる文字列
      Returns:
      このオブジェクト自体
    • setExports

      public TSelf setExports(List<String> exportDefinitions)
      変数定義を設定する。 既存の設定はクリアされる。
      Parameters:
      exportDefinitions - 変数定義
      Returns:
      このオブジェクト自体
    • addExport

      public TSelf addExport(String exportDefinition)
      リクエストスコープ変数定義を追加する。 同名の変数が既に定義されていた場合は上書きする。
      Parameters:
      exportDefinition - 変数名
      Returns:
      このオブジェクト自体
    • setConditions

      public TSelf setConditions(List<String> conditions)
      置換処理の適用条件を設定する。 既存の設定はクリアされる。
      Parameters:
      conditions - 適用条件
      Returns:
      このオブジェクト自体
    • addCondition

      public TSelf addCondition(String condition)
      置換処理の適用条件を追加する。
      Parameters:
      condition - 適用条件
      Returns:
      このオブジェクト自体