]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/modulebrowser/CreateModuleValidator.java
(refs #7362) Creation of new SCL modules in SCL module browser
[simantics/platform.git] / bundles / org.simantics.scl.ui / src / org / simantics / scl / ui / modulebrowser / CreateModuleValidator.java
diff --git a/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/modulebrowser/CreateModuleValidator.java b/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/modulebrowser/CreateModuleValidator.java
new file mode 100644 (file)
index 0000000..d3236c0
--- /dev/null
@@ -0,0 +1,28 @@
+package org.simantics.scl.ui.modulebrowser;
+
+public class CreateModuleValidator {
+    public static boolean isValidPackageName(String packageName) {
+        if(packageName.isEmpty())
+            return true;
+        for(String part : packageName.split("/", -1))
+            if(!isValidModuleName(part))
+                return false;
+        return true;
+    }
+
+    public static boolean isValidModuleName(String moduleName) {
+        if(moduleName.isEmpty())
+            return false;
+        {
+            char c = moduleName.charAt(0);
+            if(!Character.isLetter(c))
+                return false;
+        }
+        for(int i=1;i<moduleName.length();++i) {
+            char c = moduleName.charAt(i);
+            if(!Character.isLetter(c) && !Character.isDigit(c) && c != '_')
+                return false;
+        }
+        return true;
+    }
+}