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