public interface PathMatcherString ベースのパスマッチングの戦略インターフェース。PathMatchingResourcePatternResolver、AbstractUrlHandlerMapping、WebContentInterceptor で使用されます。
デフォルトの実装は AntPathMatcher で、Ant スタイルのパターン構文をサポートしています。
AntPathMatcher| 修飾子と型 | メソッドと説明 |
|---|---|
StringSE | combine(StringSE pattern1, StringSE pattern2)2 つのパターンを組み合わせて、返される新しいパターンにします。 |
StringSE | extractPathWithinPattern(StringSE pattern, StringSE path) パターンとフルパスを指定して、パターンマッピングされた部分を決定します。 |
MapSE<StringSE, StringSE> | extractUriTemplateVariables(StringSE pattern, StringSE path) パターンとフルパスを指定して、URI テンプレート変数を抽出します。 |
ComparatorSE<StringSE> | getPatternComparator(StringSE path) フルパスを指定すると、そのパスの明示性の順序でパターンをソートするのに適した ComparatorSE を返します。 |
boolean | isPattern(StringSE path) 指定された path は、このインターフェースの実装によって一致するパターンを表しますか? |
boolean | match(StringSE pattern, StringSE path) この PathMatcher のマッチング戦略に従って、指定された path を指定された pattern に一致させます。 |
boolean | matchStart(StringSE pattern, StringSE path) この PathMatcher のマッチング戦略に従って、指定された path を指定された pattern の対応する部分と一致させます。 |
boolean isPattern(StringSE path)
path は、このインターフェースの実装によって一致するパターンを表しますか? 戻り値が false の場合、静的パス文字列での直接の等価比較は同じ結果をもたらすため、match(java.lang.String, java.lang.String) メソッドを使用する必要はありません。
path - チェックするパス path がパターンを表す場合、true boolean match(StringSE pattern, StringSE path)
path を指定された pattern に一致させます。pattern - 照合するパターン path - テストするパス path が一致した場合は true、一致しなかった場合は false boolean matchStart(StringSE pattern, StringSE path)
path を指定された pattern の対応する部分と一致させます。完全なパスも一致すると想定して、指定されたベースパスに至るまでパターンが少なくとも一致するかどうかを決定します。
pattern - 照合するパターン path - テストするパス path が一致した場合は true、一致しなかった場合は false StringSE extractPathWithinPattern(StringSE pattern, StringSE path)
このメソッドは、パスのどの部分が実際のパターンを通して動的に一致するかを見つけることになっています。つまり、指定されたフルパスから静的に定義された先頭のパスを取り除き、実際にパターンに一致したパスの部分のみを返します。
次に例を示します: パターンとして "myroot/*.html"、フルパスとして "myroot/myfile.html" の場合、このメソッドは "myfile.html" を返す必要があります。詳細な決定ルールは、この PathMatcher のマッチング戦略に指定されています。
単純な実装は、実際のパターンの場合はそのままのフルパスを返し、動的部分を含まないパターンの場合は空の文字列を返します(つまり、pattern パラメーターは実際のパスとして適格でない静的パスです) pattern)。高度な実装では、特定のパスパターンの静的部分と動的部分を区別します。
pattern - パスパターン path - イントロスペクトへのフルパス path のパターンマッピングされた部分 (非 null)MapSE<StringSE,StringSE> extractUriTemplateVariables(StringSE pattern, StringSE path)
次に例を示します: パターン "/hotels/{hotel}" およびパス "/hotels/1" の場合、このメソッドは "hotel" -> "1" を含むマップを返します。
pattern - おそらく URI テンプレートを含むパスパターン path - テンプレート変数を抽出するフルパス ComparatorSE<StringSE> getPatternComparator(StringSE path)
ComparatorSE を返します。 使用される完全なアルゴリズムは、基礎となる実装によって異なりますが、通常、返される Comparator は、より具体的なパターンが一般的なパターンの前に来るようにリストをソートSEします。
path - 比較に使用する完全なパス StringSE combine(StringSE pattern1, StringSE pattern2)
2 つのパターンを結合するために使用される完全なアルゴリズムは、基礎となる実装に依存します。
pattern1 - 最初のパターン pattern2 - 2 番目のパターン IllegalArgumentExceptionSE - 2 つのパターンを結合できない場合