|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.opensymphony.module.sitemesh.mapper.PathMapper
public class PathMapper
The 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 ?.
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";
Field Summary | |
---|---|
private java.util.Map |
mappings
|
Constructor Summary | |
---|---|
PathMapper()
|
Method Summary | |
---|---|
private static java.lang.String |
findComplexKey(java.lang.String path,
java.util.Map mappings)
|
private static java.lang.String |
findDefaultKey(java.util.Map mappings)
Look for root pattern ( / ). |
private static java.lang.String |
findExactKey(java.lang.String path,
java.util.Map mappings)
Check if path matches exact pattern ( /blah/blah.jsp ). |
private static java.lang.String |
findKey(java.lang.String path,
java.util.Map mappings)
Find exact key in mappings. |
java.lang.String |
get(java.lang.String path)
Retrieve appropriate key by matching patterns with supplied path. |
private static boolean |
match(java.lang.String pattern,
java.lang.String str,
boolean isCaseSensitive)
|
void |
put(java.lang.String key,
java.lang.String pattern)
Add a key and appropriate matching pattern. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private java.util.Map mappings
Constructor Detail |
---|
public PathMapper()
Method Detail |
---|
public void put(java.lang.String key, java.lang.String pattern)
public java.lang.String get(java.lang.String path)
private static java.lang.String findKey(java.lang.String path, java.util.Map mappings)
private static java.lang.String findExactKey(java.lang.String path, java.util.Map mappings)
private static java.lang.String findComplexKey(java.lang.String path, java.util.Map mappings)
private static java.lang.String findDefaultKey(java.util.Map mappings)
private static boolean match(java.lang.String pattern, java.lang.String str, boolean isCaseSensitive)
|
www.opensymphony.com/sitemesh/ | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |