package org.eck.path;
import java.util.HashMap;
import java.util.Map;
public class RouteParser {
public static boolean macthes(String pattern, String path) {
if (pattern != null && path != null) {
String[] patternTokens = pattern.split("/");
String[] tokens = path.split("/");
if (patternTokens.length != tokens.length) {
return false;
}
for (int i = 0; i < patternTokens.length; i++) {
if (patternTokens[i].startsWith(":")) {
continue;
} else if (!patternTokens[i].equals(tokens[i])) {
return false;
}
}
return true;
}
return false;
}
public static Map<String, String> parse(String pattern, String path) {
if (pattern != null && path != null) {
String[] patternTokens = pattern.split("/");
String[] tokens = path.split("/");
Map<String, String> params = new HashMap<String, String>();
for (int i = 0; i < patternTokens.length; i++) {
String token = patternTokens[i];
if (token.startsWith(":")) {
params.put(patternTokens[i].replace(":", ""), tokens[i]);
}
}
return params;
}
return null;
}
}