The Spring Framework

org.springframework.util
Class AntPathMatcher

java.lang.Object
  extended by org.springframework.util.AntPathMatcher
All Implemented Interfaces:
PathMatcher

public class AntPathMatcher
extends 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:

Since:
16.07.2003
Author:
Alef Arendsen, Juergen Hoeller, Rob Harrop

Field Summary
static String DEFAULT_PATH_SEPARATOR
          Default path separator: "/"
 
Constructor Summary
AntPathMatcher()
           
 
Method Summary
 String extractPathWithinPattern(String pattern, String path)
          Given a pattern and a full path, determine the pattern-mapped part.
 boolean isPattern(String str)
          Does the given string represent a pattern that can be matched by an implementation of this interface?
 boolean match(String pattern, String str)
          Match the given text against the given pattern, according to this PathMatcher's matching strategy.
 void setPathSeparator(String pathSeparator)
          Set the path separator to use for pattern parsing.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_PATH_SEPARATOR

public static final String DEFAULT_PATH_SEPARATOR
Default path separator: "/"

See Also:
Constant Field Values
Constructor Detail

AntPathMatcher

public AntPathMatcher()
Method Detail

setPathSeparator

public void setPathSeparator(String pathSeparator)
Set the path separator to use for pattern parsing. Default is "/", as in Ant.


isPattern

public boolean isPattern(String str)
Description copied from interface: PathMatcher
Does the given string represent a pattern that can be matched by an implementation of this interface?

If the return value is false, then the PathMatcher.match(java.lang.String, java.lang.String) method does not have to be used because direct equality comparisons on the static path Strings will lead to the same result.

Specified by:
isPattern in interface PathMatcher
Parameters:
str - the string to check
Returns:
true if the given string represents a pattern

match

public boolean match(String pattern,
                     String str)
Description copied from interface: PathMatcher
Match the given text against the given pattern, according to this PathMatcher's matching strategy.

Specified by:
match in interface PathMatcher
Parameters:
pattern - the pattern to match against
str - the string to test
Returns:
true if the supplied text matched, false if it didn't

extractPathWithinPattern

public String extractPathWithinPattern(String pattern,
                                       String path)
Given a pattern and a full path, determine the pattern-mapped part.

For example:

Assumes that match(java.lang.String, java.lang.String) returns true for 'pattern' and 'path', but does not enforce this.

Specified by:
extractPathWithinPattern in interface PathMatcher
Parameters:
pattern - the path pattern
path - the full path to introspect
Returns:
the pattern-mapped part of the given path (never null)

The Spring Framework

Copyright © 2002-2007 The Spring Framework.