クラス PatternsRequestCondition

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

public class PatternsRequestCondition extends AbstractRequestCondition<PatternsRequestCondition>
一連の URL パスパターンに対するリクエストと一致する論理和('| |')リクエスト条件。

解析された PathPattern を使用する PathPatternsRequestCondition とは対照的に、この条件は AntPathMatcher を介して文字列パターンマッチングを実行します。

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

  • メソッドの詳細

    • getPatterns

      public SetSE<StringSE> getPatterns()
    • getContent

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

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

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

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

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

      次で指定:
      クラス AbstractRequestCondition<PatternsRequestCondition>getToStringInfix 
    • isEmptyPathMapping

      public boolean isEmptyPathMapping()
      条件が ""(空のパス)マッピングであるかどうか。
    • getDirectPaths

      public SetSE<StringSE> getDirectPaths()
      パターンではないマッピングパスを返します。
      導入:
      5.3
    • combine

      次のように、現在のインスタンスと他のインスタンスのパターンを組み合わせます。
      • 1 つのインスタンスのみにパターンがある場合は、使用します。
      • 両方にパターンがある場合は、"this" インスタンスのパターンを PathMatcher.combine(String, String) を介して他のインスタンスのパターンと結合します。
      • どちらにもパターンがない場合は、"" と "/" をルートパスパターンとして使用します。
      パラメーター:
      other - 組み合わせる条件。
      戻り値:
      2 つの条件インスタンスを組み合わせた結果であるリクエスト条件インスタンス。
    • getMatchingCondition

      @Nullable public PatternsRequestCondition getMatchingCondition(HttpServletRequestEE request)
      パターンのいずれかが指定されたリクエストと一致するかどうかを確認し、PathMatcher.getPatternComparator(String) でソートされた、一致するパターンを含むことが保証されているインスタンスを返します。

      一致するパターンは、次の順序でチェックを行うことによって取得されます。

      • 直接一致
      • パターンにまだ "." が含まれていない場合は、".*" を追加したパターンマッチ。
      • パターンマッチ
      • パターンが "/" で終わっていない場合、"/" を追加したパターンマッチ
      パラメーター:
      request - 現在のリクエスト
      戻り値:
      条件にパターンが含まれていない場合も同じインスタンス。または、ソートされた一致パターンを持つ新しい条件。一致するパターンがない場合は null
    • getMatchingPatterns

      public ListSE<StringSE> getMatchingPatterns(StringSE lookupPath)
      指定されたルックアップパスに一致するパターンを検索します。このメソッドを呼び出すと、getMatchingCondition(jakarta.servlet.http.HttpServletRequest) を呼び出した場合と同等の結果が得られます。このメソッドは、リクエストが利用できない場合に使用される代替手段として提供されます(イントロスペクション、ツールなど)。
      パラメーター:
      lookupPath - 既存のパターンに一致するルックアップパス
      戻り値:
      最上位に最も近い一致でソートされた一致するパターンのコレクション
    • compareTo

      public int compareTo(PatternsRequestCondition other, HttpServletRequestEE request)
      含まれている URL パターンに基づいて 2 つの条件を比較します。パターンは PathMatcher.getPatternComparator(String) を介して上から下に一度に 1 つずつ比較されます。比較されたすべてのパターンが同等に一致するが、1 つのインスタンスにさらに多くのパターンがある場合、より近い一致と見なされます。

      両方のインスタンスが getMatchingCondition(HttpServletRequest) を介して取得され、リクエストに一致するパターンのみが含まれ、最も一致するものが上にソートされることを前提としています。