クラス ThrowableAnalyzer
java.lang.ObjectSE
org.springframework.security.web.util.ThrowableAnalyzer
Throwable
SE インスタンスを分析するためのハンドラー。その動作をカスタマイズするためにサブクラス化できます。- 導入:
- 2.0
フィールドサマリー
フィールド修飾子と型フィールド説明static final ThrowableCauseExtractor
Throwable
SE インスタンスのデフォルトのエクストラクター。static final ThrowableCauseExtractor
InvocationTargetException
SE インスタンスのデフォルトのエクストラクター。コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明final ThrowableSE[]
determineCauseChain
(ThrowableSE throwable) 提供されたThrowable
の原因チェーンを判別します。final ThrowableSE
getFirstThrowableOfType
(ClassSE<? extends ThrowableSE> throwableType, ThrowableSE[] chain) 渡された配列から、指定された型に割り当て可能な最初のスロー可能オブジェクトを返します。protected void
Throwable
とThrowableCauseExtractor
の間の関連付けを初期化します。protected final void
registerExtractor
(ClassSE<? extends ThrowableSE> throwableType, ThrowableCauseExtractor extractor) 指定された型のThrowableCauseExtractor
を登録します。static void
verifyThrowableHierarchy
(ThrowableSE throwable, ClassSE<? extends ThrowableSE> expectedBaseType) 提供されたスロー可能オブジェクトが、提供された型(または型自体)の有効なサブクラスであることを検証します。
フィールドの詳細
DEFAULT_EXTRACTOR
Throwable
SE インスタンスのデフォルトのエクストラクター。- 関連事項:
INVOCATIONTARGET_EXTRACTOR
InvocationTargetException
SE インスタンスのデフォルトのエクストラクター。
コンストラクターの詳細
ThrowableAnalyzer
public ThrowableAnalyzer()新しいThrowableAnalyzer
インスタンスを作成します。
メソッドの詳細
registerExtractor
protected final void registerExtractor(ClassSE<? extends ThrowableSE> throwableType, ThrowableCauseExtractor extractor) 指定された型のThrowableCauseExtractor
を登録します。initExtractorMap()
をオーバーライドするサブクラスで使用できます。- パラメーター:
throwableType
- 型 (Throwable
のサブクラスである必要があります)extractor
- 関連するThrowableCauseExtractor
(null
ではありません)- 例外:
IllegalArgumentExceptionSE
- 引数の 1 つが無効な場合
initExtractorMap
protected void initExtractorMap()Throwable
とThrowableCauseExtractor
の間の関連付けを初期化します。デフォルトの実装では、次の登録が実行されます。
このメソッドをオーバーライドするサブクラスは、スーパーメソッドを呼び出してデフォルトの登録を実行することをお勧めします。必要に応じて追加の抽出プログラムを登録できます。メモ: 特定の型に登録された抽出は、その型とそのすべてのサブ型に適用できます。ただし、より具象型に登録されたエクストラクターは、最初に解決されることが保証されています。デフォルトの場合、InvocationTargetExceptions は
INVOCATIONTARGET_EXTRACTOR
によって処理されますが、他のすべてのスロー可能オブジェクトはDEFAULT_EXTRACTOR
によって処理されます。determineCauseChain
提供されたThrowable
の原因チェーンを判別します。返される配列には、登録されたextractors
を使用して、スタックトレースから抽出されたすべてのスロー可能オブジェクトが含まれます。配列の要素は順序付けられています。最初の要素は throwable 自体に渡されます。次の要素は、スタックトレースの下方に順番に表示されます。メモ: このインスタンスに
ThrowableCauseExtractor
が登録されていない場合、返される配列には常に、渡された throwable のみが含まれます。- パラメーター:
throwable
- 分析するThrowable
- 戻り値:
- スタックトレースから決定されたすべてのスロー可能オブジェクトの配列
- 例外:
IllegalArgumentExceptionSE
- スロー可能オブジェクトがnull
の場合- 関連事項:
getFirstThrowableOfType
public final ThrowableSE getFirstThrowableOfType(ClassSE<? extends ThrowableSE> throwableType, ThrowableSE[] chain) 渡された配列から、指定された型に割り当て可能な最初のスロー可能オブジェクトを返します。返されたインスタンスは、指定した型にキャストしても安全です。渡された配列が null または空の場合、このメソッドは
null
を返します。- パラメーター:
throwableType
- 探す型chain
- 配列 (要素順に処理されます)- 戻り値:
- 見つかった
Throwable
、見つからない場合はnull
- 例外:
IllegalArgumentExceptionSE
- 指定された型がnull
であるか、Throwable
のサブクラスがない場合
verifyThrowableHierarchy
public static void verifyThrowableHierarchy(ThrowableSE throwable, ClassSE<? extends ThrowableSE> expectedBaseType) 指定されたスロー可能オブジェクトが、指定された型(または型自体)の有効なサブクラスであることを確認します。expectdBaseType
がnull
の場合、チェックは実行されません。extractors
の実装で検証目的に使用できます。- パラメーター:
throwable
- チェックするThrowable
expectedBaseType
- チェックする型- 例外:
IllegalArgumentExceptionSE
-throwable
がnull
であるか、その型がexpectedBaseType
に割り当てられない場合