Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/RuleManagement.java')
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/RuleManagement.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/RuleManagement.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/RuleManagement.java
new file mode 100644
index 00000000000..2afa92530b3
--- /dev/null
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/RuleManagement.java
@@ -0,0 +1,32 @@
+package org.eclipse.papyrus.qompass.designer.core.transformations;
+
+import org.eclipse.papyrus.FCM.ConfigOption;
+import org.eclipse.papyrus.FCM.Configuration;
+import org.eclipse.papyrus.FCM.ContainerRule;
+
+public class RuleManagement {
+ private static Configuration m_config;
+
+ public static void setConfiguration(Configuration config) {
+ m_config = config;
+ }
+
+ /**
+ * check whether a rule is active in a given configuration
+ *
+ * @param aRule
+ * @return
+ */
+ public static boolean isRuleActive(ContainerRule rule) {
+ if(m_config != null) {
+ for(ConfigOption option : m_config.getConfigOptions()) {
+ if(rule.getForConfig().contains(option)) {
+ return true;
+ }
+ }
+ }
+ // not already true via specific configuration.
+ // => Also turn on rules by default that are not for a specific configuration option
+ return (rule.getForConfig().size() == 0);
+ }
+}

Back to the top