public class PathMapper
extends java.lang.Object
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";
Modifier and Type | Field and Description |
---|---|
private java.util.Map |
mappings |
Constructor and Description |
---|
PathMapper() |
Modifier and Type | Method and Description |
---|---|
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.
|
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)