クラス ThrowableAnalyzer

java.lang.ObjectSE
org.springframework.security.web.util.ThrowableAnalyzer

public class ThrowableAnalyzer extends ObjectSE
ThrowableSE インスタンスを分析するためのハンドラー。その動作をカスタマイズするためにサブクラス化できます。
導入:
2.0
  • フィールドの詳細

  • コンストラクターの詳細

    • 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

      public final ThrowableSE[] determineCauseChain(ThrowableSE throwable)
      提供された 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 に割り当てられない場合