package org.eclipse.dltk.validators.internal.externalchecker.ui; import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.Vector; import org.eclipse.dltk.validators.internal.externalchecker.core.Rule; public class RulesList { private Vector rules = new Vector(); private Set changeListeners = new HashSet(); private String[] types = {Messages.RulesList_error, Messages.RulesList_warning}; public void addRule(){ Rule r = new Rule("%f:%n:%m", Messages.RulesList_error); //$NON-NLS-1$ rules.add(r); Iterator iterator = changeListeners.iterator(); while(iterator.hasNext()){ ((IRulesListViewer)iterator.next()).addRule(r); } } public void removeChangeListener(IRulesListViewer viewer) { changeListeners.remove(viewer); } public void addChangeListener(IRulesListViewer viewer) { changeListeners.add(viewer); } public Vector getRules(){ return rules; } public void ruleChanged(Rule r) { Iterator iterator = changeListeners.iterator(); while (iterator.hasNext()) ((IRulesListViewer) iterator.next()).updateRule(r); } public void addRule(Rule r){ rules.add(r); Iterator iterator = changeListeners.iterator(); while(iterator.hasNext()){ ((IRulesListViewer)iterator.next()).addRule(r); } } public void removeRule(Rule task) { rules.remove(task); Iterator iterator = changeListeners.iterator(); while (iterator.hasNext()) ((IRulesListViewer) iterator.next()).removeRule(task); } public String[] getTypes(){ return types; } }