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