/**
*
*/
package eu.scape_project.planning.utils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author Petar Petrov - <me@petarpetrov.org>
*
*/
public final class Helper {
public static boolean isLocalIdentifier(String id) {
return id.startsWith("file:/");
}
public static boolean isRODAidentifier(String id) {
String re1 = "((?:[a-z][a-z]+))"; // Word 1
String re2 = "(:)"; // Any Single Character 1
String re3 = "(\\/)"; // Any Single Character 2
String re4 = "(\\/)"; // Any Single Character 3
String re5 = "((?:[a-z][a-z\\.\\d\\-]+)\\.(?:[a-z][a-z\\-]+))(?![\\w\\.])"; // FQDN
// 1
String re6 = "(\\/)"; // Any Single Character 4
String re7 = "((?:[a-z][a-z]+))"; // Word 2
String re8 = "(-)"; // Any Single Character 5
String re9 = "((?:[a-z][a-z]+))"; // Word 3
String re10 = "(\\/)"; // Any Single Character 6
String re11 = "((?:[a-z][a-z]+))"; // Word 4
String re12 = "(\\/)"; // Any Single Character 7
String re13 = "((?:[a-z][a-z0-9_]*))"; // Variable Name 1
String re14 = "(:)"; // Any Single Character 8
String re15 = "(\\d+)"; // Integer Number 1
String re16 = "(\\/)"; // Any Single Character 9
String re17 = "((?:[a-z][a-z0-9_]*))"; // Variable Name 2
Pattern p = Pattern.compile(re1 + re2 + re3 + re4 + re5 + re6 + re7 + re8 + re9 + re10 + re11 + re12 + re13
+ re14 + re15 + re16 + re17, Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
Matcher m = p.matcher(id);
return ((id.indexOf("demo:8080") > 0) || m.find());
}
private Helper() {
}
}