summaryrefslogtreecommitdiffstats
path: root/rba.tool.core/src/rba/tool/core/util/ModelUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'rba.tool.core/src/rba/tool/core/util/ModelUtil.java')
-rw-r--r--rba.tool.core/src/rba/tool/core/util/ModelUtil.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/rba.tool.core/src/rba/tool/core/util/ModelUtil.java b/rba.tool.core/src/rba/tool/core/util/ModelUtil.java
new file mode 100644
index 0000000..b6b34a7
--- /dev/null
+++ b/rba.tool.core/src/rba/tool/core/util/ModelUtil.java
@@ -0,0 +1,29 @@
+package rba.tool.core.util;
+
+import org.eclipse.emf.ecore.EObject;
+
+import rba.core.NamedElement;
+import rba.core.Package;
+
+public class ModelUtil {
+
+ public static final String SEPARATOR = "/";
+
+ public static String getRBAModelHierarchicalName(NamedElement target) {
+ return getRBAModelHierarchicalName(target, SEPARATOR);
+ }
+
+ public static String getRBAModelHierarchicalName(NamedElement target, String separator) {
+ EObject parent = target.eContainer();
+ if (parent == null || !(parent instanceof NamedElement) || parent instanceof Package) {
+ return target.getName();
+ } else {
+ return getRBAModelHierarchicalName((NamedElement) parent, separator) + separator + target.getName();
+ }
+ }
+
+ public static String convertModelName2ArbitrateName(String modelName) {
+ if (modelName == null) return modelName;
+ return modelName.replace(".", "/");
+ }
+}