クラス RequestConditionHolder

実装されたすべてのインターフェース:
RequestCondition<RequestConditionHolder>

public final class RequestConditionHolder extends AbstractRequestCondition<RequestConditionHolder>
リクエスト条件の型が事前にわからない場合に便利な RequestCondition のホルダー。カスタム状態。このクラスは RequestCondition の実装でもあるため、保持されているリクエスト条件を効果的に装飾し、型および null セーフな方法で他のリクエスト条件と組み合わせて比較できるようにします。

2 つの RequestConditionHolder インスタンスを組み合わせるか、相互に比較する場合、それらが保持する条件は同じ型であることが期待されます。そうでない場合、ClassCastExceptionSE が発生します。

導入:
3.1
作成者:
Rossen Stoyanchev
  • コンストラクターの詳細

    • RequestConditionHolder

      public RequestConditionHolder(@Nullable RequestCondition<?> requestCondition)
      指定されたリクエスト条件をラップする新しいホルダーを作成します。
      パラメーター:
      requestCondition - 保持する条件。null の場合があります
  • メソッドの詳細

    • getCondition

      @Nullable public RequestCondition<?> getCondition()
      保持されているリクエスト条件を返します。保持されていない場合は null を返します。
    • getContent

      protected CollectionSE<?> getContent()
      クラスからコピーされた説明: AbstractRequestCondition
      リクエスト条件を構成する個別のアイテムを返します。

      たとえば、URL パターン、HTTP リクエストメソッド、パラメーター式など。

      次で指定:
      クラス AbstractRequestCondition<RequestConditionHolder>getContent 
      戻り値:
      オブジェクトのコレクション (非 null)
    • getToStringInfix

      protected StringSE getToStringInfix()
      クラスからコピーされた説明: AbstractRequestCondition
      コンテンツの個別のアイテムを出力するときに使用する表記。

      たとえば、URL パターンの " || " または param 式の " && "

      次で指定:
      クラス AbstractRequestCondition<RequestConditionHolder>getToStringInfix 
    • combine

      条件が同じ型であることを確認した後、2 つの RequestConditionHolder インスタンスが保持するリクエスト条件を結合します。または、一方のホルダーが空の場合、もう一方のホルダーが返されます。
      パラメーター:
      other - 組み合わせる条件。
      戻り値:
      2 つの条件インスタンスを組み合わせた結果であるリクエスト条件インスタンス。
    • getMatchingCondition

      @Nullable public RequestConditionHolder getMatchingCondition(HttpServletRequestEE request)
      保持されているリクエスト条件の一致条件を取得し、新しい RequestConditionHolder インスタンスにラップします。または、これが空のホルダーである場合は、同じホルダーインスタンスを返します。
      戻り値:
      一致する場合は条件インスタンス、それ以外の場合は null
    • compareTo

      public int compareTo(RequestConditionHolder other, HttpServletRequestEE request)
      条件が同じ型であることを確認した後、2 つの RequestConditionHolder インスタンスが保持するリクエスト条件を比較します。または、一方のホルダーが空の場合は、もう一方のホルダーが優先されます。