org.apache.camel.util
Class AntPathMatcher

java.lang.Object
  extended by org.apache.camel.util.AntPathMatcher

public class AntPathMatcher
extends Object

PathMatcher implementation for Ant-style path patterns. Examples are provided below.

Part of this mapping code has been kindly borrowed from Apache Ant and Spring Framework.

The mapping matches URLs using the following rules:

Some examples:


Field Summary
static String DEFAULT_PATH_SEPARATOR
          Default path separator: "/"
 
Constructor Summary
AntPathMatcher()
           
 
Method Summary
protected  boolean doMatch(String pattern, String path, boolean fullMatch)
          Actually match the given path against the given pattern.
 String extractPathWithinPattern(String pattern, String path)
          Given a pattern and a full path, determine the pattern-mapped part.
 boolean isPattern(String path)
           
 boolean match(String pattern, String path)
           
 boolean matchStart(String pattern, String path)
           
 void setPathSeparator(String pathSeparator)
          Set the path separator to use for pattern parsing.
static String[] tokenizeToStringArray(String str, String delimiters)
          Tokenize the given String into a String array via a StringTokenizer.
 
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 path)

match

public boolean match(String pattern,
                     String path)

matchStart

public boolean matchStart(String pattern,
                          String path)

doMatch

protected boolean doMatch(String pattern,
                          String path,
                          boolean fullMatch)
Actually match the given path against the given pattern.

Parameters:
pattern - the pattern to match against
path - the path String to test
fullMatch - whether a full pattern match is required (else a pattern match as far as the given base path goes is sufficient)
Returns:
true if the supplied path 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.


tokenizeToStringArray

public static String[] tokenizeToStringArray(String str,
                                             String delimiters)
Tokenize the given String into a String array via a StringTokenizer. Trims tokens and omits empty tokens.

The given delimiters string is supposed to consist of any number of delimiter characters. Each of those characters can be used to separate tokens. A delimiter is always a single character; for multi-character delimiters, consider using delimitedListToStringArray

Parameters:
str - the String to tokenize
delimiters - the delimiter characters, assembled as String (each of those characters is individually considered as delimiter).
Returns:
an array of the tokens
See Also:
StringTokenizer, String.trim()


Apache CAMEL