public class CheckRoleLogger extends java.lang.Object implements Initializable
CheckRole
アノテーションの情報をログに出力するロガー。
このクラスは、指定されたパッケージ以下に存在するクラスを走査して、
各メソッドとそこに設定されたCheckRole
アノテーションの情報を抽出する。
そして、抽出した情報をログにデバッグレベルで出力する。
これは、アクションメソッドへのCheckRole
の設定が設計通りになっているかを
確認することを目的とした機能となる。
このクラスは、まずtargetPackage
で指定されたパッケージ配下を再帰的に走査し、
処理対象の候補となるクラスを発見する。
次に、発見したクラスの完全修飾名がtargetClassPattern
で指定された正規表現に
一致するかどうかを確認し、一致する場合は対象のクラスとして処理する。
そして、処理対象となったクラスから、そのクラスで宣言されたpublic
メソッドの情報が抽出される
(親クラスで宣言されたメソッドは対象にならない)。
抽出されたメソッドからは、以下の情報が取り出されてログに出力される。
Class.getName()
で取得できる値)CheckRole
アノテーションの value
に設定された値(未設定の場合は空)CheckRole
アノテーションの anyOf
に設定された値(未設定の場合は空)
このクラスはInitializable
を実装しており、アプリケーション起動時の初期化のタイミングで
ログを出力する。
Constructor and Description |
---|
CheckRoleLogger() |
Modifier and Type | Method and Description |
---|---|
void |
initialize()
初期化処理を行う。
|
void |
setTargetClassPattern(java.lang.String targetClassPattern)
処理対象となるクラスを特定するための正規表現を設定する。
|
void |
setTargetPackage(java.lang.String targetPackage)
走査対象となるパッケージの名前を設定する。
|
public void initialize()
Initializable
initialize
in interface Initializable
public void setTargetPackage(java.lang.String targetPackage)
targetPackage
- 走査対象となるパッケージの名前public void setTargetClassPattern(java.lang.String targetClassPattern)
この正規表現は、クラスの完全修飾名に対して適用される。
デフォルトは ^.*Action$
が設定されている("Action"
で終わるクラスが対象)。
targetClassPattern
- 処理対象となるクラスを特定するための正規表現