package cideplus.model; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeSet; public class CompilationUnitFeaturesModel { Map<ASTNodeReference, Set<Feature>> configurationMap = new HashMap<ASTNodeReference, Set<Feature>>(); public Set<Feature> getFeatures(ASTNodeReference reference){ return getFeatures(reference, false); } public Set<Feature> getFeatures(ASTNodeReference reference, boolean updateAstReference){ Set<Feature> list = configurationMap.get(reference); if(list == null) { list = new TreeSet<Feature>(); } if(updateAstReference){ configurationMap.remove(reference); } configurationMap.put(reference, list); return list; } public Set<ASTNodeReference> getNodeReferences() { HashSet<ASTNodeReference> set = new HashSet<ASTNodeReference>(); set.addAll(configurationMap.keySet()); return set; } }