クラス ThrowableAnalyzer
java.lang.ObjectSE
org.springframework.security.web.util.ThrowableAnalyzer
ThrowableSE インスタンスを分析するためのハンドラー。その動作をカスタマイズするためにサブクラス化できます。- 導入:
- 2.0
フィールドのサマリー
フィールド修飾子と型フィールド説明static final ThrowableCauseExtractorThrowableSE インスタンスのデフォルトのエクストラクター。static final ThrowableCauseExtractorInvocationTargetExceptionSE インスタンスのデフォルトのエクストラクター。コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明final ThrowableSE[]determineCauseChain(ThrowableSE throwable) 提供されたThrowableの原因チェーンを判別します。final ThrowableSEgetFirstThrowableOfType(ClassSE<? extends ThrowableSE> throwableType, ThrowableSE[] chain) 渡された配列から、指定された型に割り当て可能な最初のスロー可能オブジェクトを返します。protected voidThrowableとThrowableCauseExtractorの間の関連付けを初期化します。protected final voidregisterExtractor(ClassSE<? extends ThrowableSE> throwableType, ThrowableCauseExtractor extractor) 指定された型のThrowableCauseExtractorを登録します。static voidverifyThrowableHierarchy(ThrowableSE throwable, ClassSE<? extends ThrowableSE> expectedBaseType) 提供されたスロー可能オブジェクトが、提供された型(または型自体)の有効なサブクラスであることを検証します。
フィールドの詳細
DEFAULT_EXTRACTOR
ThrowableSE インスタンスのデフォルトのエクストラクター。- 関連事項:
INVOCATIONTARGET_EXTRACTOR
InvocationTargetExceptionSE インスタンスのデフォルトのエクストラクター。
コンストラクターの詳細
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- チェックするThrowableexpectedBaseType- チェックする型- 例外:
IllegalArgumentExceptionSE-throwableがnullであるか、その型がexpectedBaseTypeに割り当てられない場合