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()
Initializableinitialize in interface Initializablepublic void setTargetPackage(java.lang.String targetPackage)
targetPackage - 走査対象となるパッケージの名前public void setTargetClassPattern(java.lang.String targetClassPattern)
この正規表現は、クラスの完全修飾名に対して適用される。
デフォルトは ^.*Action$ が設定されている("Action"で終わるクラスが対象)。
targetClassPattern - 処理対象となるクラスを特定するための正規表現