package cideplus.ui.configuration; import java.util.Set; import org.eclipse.core.runtime.CoreException; import org.eclipse.jdt.core.ICompilationUnit; import org.eclipse.jdt.core.dom.ASTNode; import cideplus.model.ASTNodeReference; import cideplus.model.Feature; public interface ICompilationUnitFeaturesManager { boolean hasFeature(ASTNode astNode, Feature feature); void setFeature(ASTNode astNode, Feature feature); Set<Feature> getFeatures(ASTNode astNode); Set<Feature> getFeatures(ASTNodeReference reference); void removeFeature(ASTNode node, Feature feature); void commitChanges() throws CoreException; ICompilationUnit getCompilationUnit(); Set<ASTNodeReference> getNodeReferences(); }