public class AntPathMatcher extends java.lang.Object implements PathMatcher
PathMatcher implementation for Ant-style path patterns. Examples are provided below.
Part of this mapping code has been kindly borrowed from Apache Ant.
The mapping matches URLs using the following rules:
 
Some examples:
 
com/t?st.jsp - matches com/test.jsp but also
 com/tast.jsp or com/txst.jsp
 com/*.jsp - matches all .jsp files in the
 com directorycom/**/test.jsp - matches all test.jsp
 files underneath the com pathorg/apache/shiro/**/*.jsp - matches all .jsp
 files underneath the org/apache/shiro pathorg/**/servlet/bla.jsp - matches
 org/apache/shiro/servlet/bla.jsp but also
 org/apache/shiro/testing/servlet/bla.jsp and
 org/servlet/bla.jsp
N.B.: This class was forked from Apache Shiro with modifications.
As per the Apache 2.0 license, the original copyright notice and all author and copyright information have remained intact.
| Modifier and Type | Field and Description | 
|---|---|
static java.lang.String | 
DEFAULT_PATH_SEPARATOR
Default path separator: "/". 
 | 
ANT, REGEX| Constructor and Description | 
|---|
AntPathMatcher()  | 
| Modifier and Type | Method and Description | 
|---|---|
protected boolean | 
doMatch(java.lang.String pattern,
       java.lang.String path,
       boolean fullMatch)
Actually match the given  
path against the given pattern. | 
java.lang.String | 
extractPathWithinPattern(java.lang.String pattern,
                        java.lang.String path)
Given a pattern and a full path, determine the pattern-mapped part. 
 | 
boolean | 
isPattern(java.lang.String path)  | 
boolean | 
matches(java.lang.String pattern,
       java.lang.String source)
Returns  
true if the given source matches the specified pattern,
 false otherwise. | 
void | 
setPathSeparator(java.lang.String pathSeparator)
Set the path separator to use for pattern parsing. 
 | 
public static final java.lang.String DEFAULT_PATH_SEPARATOR
public void setPathSeparator(java.lang.String pathSeparator)
pathSeparator - The path separator for the pattern parsingpublic boolean isPattern(java.lang.String path)
path - The pathpublic boolean matches(java.lang.String pattern,
                       java.lang.String source)
PathMatchertrue if the given source matches the specified pattern,
 false otherwise.matches in interface PathMatcherpattern - the pattern to match againstsource - the source to matchtrue if the given source matches the specified pattern,
 false otherwise.protected boolean doMatch(java.lang.String pattern,
                          java.lang.String path,
                          boolean fullMatch)
path against the given pattern.pattern - the pattern to match againstpath - the path String to testfullMatch - whether a full pattern match is required
                  (else a pattern match as far as the given base path goes is sufficient)true if the supplied path matched,
 false if it didn'tpublic java.lang.String extractPathWithinPattern(java.lang.String pattern,
                                                 java.lang.String path)
For example:
/docs/cvs/commit.html' and '/docs/cvs/commit.html -> ''/docs/*' and '/docs/cvs/commit -> 'cvs/commit'/docs/cvs/*.html' and '/docs/cvs/commit.html -> 'commit.html'/docs/**' and '/docs/cvs/commit -> 'cvs/commit'/docs/**\/*.html' and '/docs/cvs/commit.html -> 'cvs/commit.html'/*.html' and '/docs/cvs/commit.html -> 'docs/cvs/commit.html'*.html' and '/docs/cvs/commit.html -> '/docs/cvs/commit.html'*' and '/docs/cvs/commit.html -> '/docs/cvs/commit.html'Assumes that matches(String, String) returns true for 'pattern'
 and 'path', but does not enforce this.
pattern - The patternpath - The path