パッケージ org.springframework.util

インターフェース PathMatcher

すべての既知の実装クラス:
AntPathMatcher

public interface PathMatcher
String ベースのパスマッチングの戦略インターフェース。

PathMatchingResourcePatternResolverAbstractUrlHandlerMappingWebContentInterceptor で使用されます。

デフォルトの実装は AntPathMatcher で、Ant スタイルのパターン構文をサポートしています。

導入:
1.2
作成者:
Juergen Hoeller
関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    combine(StringSE pattern1, StringSE pattern2)
    2 つのパターンを組み合わせて、返される新しいパターンにします。
    パターンとフルパスを指定して、パターンマッピングされた部分を決定します。
    パターンとフルパスを指定して、URI テンプレート変数を抽出します。
    フルパスを指定すると、そのパスの明示性の順序でパターンをソートするのに適した ComparatorSE を返します。
    boolean
    指定された path は、このインターフェースの実装によって一致するパターンを表しますか?
    boolean
    match(StringSE pattern, StringSE path)
    この PathMatcher のマッチング戦略に従って、指定された path を指定された pattern に一致させます。
    boolean
    この PathMatcher のマッチング戦略に従って、指定された path を指定された pattern の対応する部分と一致させます。
  • メソッドの詳細

    • isPattern

      boolean isPattern(StringSE path)
      指定された path は、このインターフェースの実装によって一致するパターンを表しますか?

      戻り値が false の場合、静的パス文字列での直接の等価比較は同じ結果をもたらすため、match(java.lang.String, java.lang.String) メソッドを使用する必要はありません。

      パラメーター:
      path - チェックするパス
      戻り値:
      指定された path がパターンを表す場合、true 
    • match

      boolean match(StringSE pattern, StringSE path)
      この PathMatcher のマッチング戦略に従って、指定された path を指定された pattern に一致させます。
      パラメーター:
      pattern - 照合するパターン
      path - テストするパス
      戻り値:
      提供された path が一致した場合は true、一致しなかった場合は false 
    • matchStart

      boolean matchStart(StringSE pattern, StringSE path)
      この PathMatcher のマッチング戦略に従って、指定された path を指定された pattern の対応する部分と一致させます。

      完全なパスも一致すると想定して、指定されたベースパスに至るまでパターンが少なくとも一致するかどうかを決定します。

      パラメーター:
      pattern - 照合するパターン
      path - テストするパス
      戻り値:
      提供された path が一致した場合は true、一致しなかった場合は false 
    • extractPathWithinPattern

      StringSE extractPathWithinPattern(StringSE pattern, StringSE path)
      パターンとフルパスを指定して、パターンマッピングされた部分を決定します。

      このメソッドは、パスのどの部分が実際のパターンを通して動的に一致するかを見つけることになっています。つまり、指定されたフルパスから静的に定義された先頭のパスを取り除き、実際にパターンに一致したパスの部分のみを返します。

      次に例を示します: パターンとして "myroot/*.html"、フルパスとして "myroot/myfile.html" の場合、このメソッドは "myfile.html" を返す必要があります。詳細な決定ルールは、この PathMatcher のマッチング戦略に指定されています。

      単純な実装は、実際のパターンの場合はそのままのフルパスを返し、動的部分を含まないパターンの場合は空の文字列を返します(つまり、pattern パラメーターは実際のパスとして適格でない静的パスです) pattern)。高度な実装では、特定のパスパターンの静的部分と動的部分を区別します。

      パラメーター:
      pattern - パスパターン
      path - イントロスペクトへのフルパス
      戻り値:
      指定された path のパターンマッピングされた部分 (非 null)
    • extractUriTemplateVariables

      MapSE<StringSE,StringSE> extractUriTemplateVariables(StringSE pattern, StringSE path)
      パターンとフルパスを指定して、URI テンプレート変数を抽出します。URI テンプレート変数は、カーリー括弧( "{" および "}" )で表されます。

      次に例を示します: パターン "/hotels/{hotel}" およびパス "/hotels/1" の場合、このメソッドは「ホテル」→ を含むマップを返します。"1"。

      パラメーター:
      pattern - おそらく URI テンプレートを含むパスパターン
      path - テンプレート変数を抽出するフルパス
      戻り値:
      キーとして変数名を含むマップ。値としての変数値
    • getPatternComparator

      ComparatorSE<StringSE> getPatternComparator(StringSE path)
      フルパスを指定すると、そのパスの明示性の順序でパターンをソートするのに適した ComparatorSE を返します。

      使用される完全なアルゴリズムは、基礎となる実装によって異なりますが、通常、返される Comparator は、より具体的なパターンが一般的なパターンの前に来るようにリストをソートSEします。

      パラメーター:
      path - 比較に使用する完全なパス
      戻り値:
      明示的な順序でパターンをソートできるコンパレータ
    • combine

      StringSE combine(StringSE pattern1, StringSE pattern2)
      2 つのパターンを組み合わせて、返される新しいパターンにします。

      2 つのパターンを結合するために使用される完全なアルゴリズムは、基礎となる実装に依存します。

      パラメーター:
      pattern1 - 最初のパターン
      pattern2 - 2 番目のパターン
      戻り値:
      2 つのパターンの組み合わせ
      例外:
      IllegalArgumentExceptionSE - 2 つのパターンを結合できない場合