diff options
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.java | 32 |
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); + } +} |