Class CheckRoleLogger

java.lang.Object
nablarch.common.authorization.role.CheckRoleLogger
All Implemented Interfaces:
Initializable

public class CheckRoleLogger extends Object implements Initializable
アクションメソッドに設定されたCheckRoleアノテーションの情報をログに出力するロガー。

このクラスは、指定されたパッケージ以下に存在するクラスを走査して、 各メソッドとそこに設定されたCheckRoleアノテーションの情報を抽出する。 そして、抽出した情報をログにデバッグレベルで出力する。
これは、アクションメソッドへのCheckRoleの設定が設計通りになっているかを 確認することを目的とした機能となる。

このクラスは、まずtargetPackageで指定されたパッケージ配下を再帰的に走査し、 処理対象の候補となるクラスを発見する。 次に、発見したクラスの完全修飾名がtargetClassPatternで指定された正規表現に 一致するかどうかを確認し、一致する場合は対象のクラスとして処理する。
そして、処理対象となったクラスから、そのクラスで宣言されたpublicメソッドの情報が抽出される (親クラスで宣言されたメソッドは対象にならない)。 抽出されたメソッドからは、以下の情報が取り出されてログに出力される。

  • クラスの完全修飾名(Class.getName()で取得できる値)
  • シグネチャ(メソッド名と引数の型の並び)
  • CheckRoleアノテーションの value に設定された値(未設定の場合は空)
  • CheckRoleアノテーションの anyOf に設定された値(未設定の場合は空)

このクラスはInitializableを実装しており、アプリケーション起動時の初期化のタイミングで ログを出力する。

  • Constructor Details

    • CheckRoleLogger

      public CheckRoleLogger()
  • Method Details

    • initialize

      public void initialize()
      Description copied from interface: Initializable
      初期化処理を行う。
      Specified by:
      initialize in interface Initializable
    • setTargetPackage

      public void setTargetPackage(String targetPackage)
      走査対象となるパッケージの名前を設定する。
      Parameters:
      targetPackage - 走査対象となるパッケージの名前
    • setTargetClassPattern

      public void setTargetClassPattern(String targetClassPattern)
      処理対象となるクラスを特定するための正規表現を設定する。

      この正規表現は、クラスの完全修飾名に対して適用される。
      デフォルトは ^.*Action$ が設定されている("Action"で終わるクラスが対象)。

      Parameters:
      targetClassPattern - 処理対象となるクラスを特定するための正規表現