package de.ovgu.cide.configuration.defaultconf; import java.util.Collection; import java.util.HashSet; import java.util.Set; import de.ovgu.cide.configuration.ConfigurationException; import de.ovgu.cide.configuration.IConfigurationMechanism; import de.ovgu.cide.features.IFeature; import de.ovgu.cide.features.source.ColoredSourceFile; /** * default mechanisms using AST transformations and rendering using the IASTNode * interfaces... * * used by all languages generated from a gCIDE grammar * * @author ckaestne * */ public class DefaultConfigurationMechanism implements IConfigurationMechanism { /** * can configure any file by default */ public boolean canConfigureFile(ColoredSourceFile file) { return true; } public String configureFile(ColoredSourceFile sourceFile, Collection<IFeature> selectedFeatures) throws ConfigurationException { Set<IFeature> hiddenColors = new HashSet<IFeature>(); hiddenColors.addAll(sourceFile.getFeatureModel().getVisibleFeatures()); hiddenColors.removeAll(selectedFeatures); return new ConfigureASTHelper().hideCode(sourceFile, hiddenColors); } /** * lowest priority */ public int getPriority() { return 0; } }