Class PathMapper
- java.lang.Object
-
- com.opensymphony.module.sitemesh.mapper.PathMapper
-
public final class PathMapper extends java.lang.ObjectThe PathMapper is used to map file patterns to keys, and find an approriate key for a given file path. The pattern rules are consistent with those defined in the Servlet 2.3 API on the whole. Wildcard patterns are also supported, using any combination of * and ?.Example
PathMapper pm = new PathMapper();
pm.put("one","/");
pm.put("two","/mydir/*");
pm.put("three","*.xml");
pm.put("four","/myexactfile.html");
pm.put("five","/*\/admin/*.??ml");
String result1 = pm.get("/mydir/myfile.xml"); // returns "two";
String result2 = pm.get("/mydir/otherdir/admin/myfile.html"); // returns "five";
- Version:
- $Revision: 1.2 $
- Author:
- Joe Walnes, Mike Cannon-Brookes, Hani Suleiman
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Mapmappings
-
Constructor Summary
Constructors Constructor Description PathMapper()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.lang.StringfindComplexKey(java.lang.String path, java.util.Map mappings)private static java.lang.StringfindDefaultKey(java.util.Map mappings)Look for root pattern ( / ).private static java.lang.StringfindExactKey(java.lang.String path, java.util.Map mappings)Check if path matches exact pattern ( /blah/blah.jsp ).private static java.lang.StringfindKey(java.lang.String path, java.util.Map mappings)Find exact key in mappings.java.lang.Stringget(java.lang.String path)Retrieve appropriate key by matching patterns with supplied path.private static booleanmatch(java.lang.String pattern, java.lang.String str, boolean isCaseSensitive)voidput(java.lang.String key, java.lang.String pattern)Add a key and appropriate matching pattern.
-
-
-
Method Detail
-
put
public void put(java.lang.String key, java.lang.String pattern)Add a key and appropriate matching pattern.
-
get
public java.lang.String get(java.lang.String path)
Retrieve appropriate key by matching patterns with supplied path.
-
findKey
private static java.lang.String findKey(java.lang.String path, java.util.Map mappings)Find exact key in mappings.
-
findExactKey
private static java.lang.String findExactKey(java.lang.String path, java.util.Map mappings)Check if path matches exact pattern ( /blah/blah.jsp ).
-
findComplexKey
private static java.lang.String findComplexKey(java.lang.String path, java.util.Map mappings)
-
findDefaultKey
private static java.lang.String findDefaultKey(java.util.Map mappings)
Look for root pattern ( / ).
-
match
private static boolean match(java.lang.String pattern, java.lang.String str, boolean isCaseSensitive)
-
-