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.CustomWildcard;
public class CustomWildcardsList {
private Vector wcards = new Vector();
private Set changeListeners = new HashSet();
public void addWcard(){
CustomWildcard r = new CustomWildcard("x", Messages.CustomWildcardsList_enterPattern, Messages.CustomWildcardsList_enterDescription); //$NON-NLS-1$
wcards.add(r);
Iterator iterator = changeListeners.iterator();
while(iterator.hasNext()){
((IWildcardListViewer)iterator.next()).addWildcard(r);
}
}
public void removeChangeListener(IWildcardListViewer viewer) {
changeListeners.remove(viewer);
}
public void addChangeListener(IWildcardListViewer viewer) {
changeListeners.add(viewer);
}
public Vector getWcards(){
return wcards;
}
public void wcardChanged(CustomWildcard r) {
Iterator iterator = changeListeners.iterator();
while (iterator.hasNext())
((IWildcardListViewer) iterator.next()).updateWildcard(r);
}
public void addWcard(CustomWildcard r){
wcards.add(r);
Iterator iterator = changeListeners.iterator();
while(iterator.hasNext()){
((IWildcardListViewer)iterator.next()).addWildcard(r);
}
}
public void removeWcard(CustomWildcard task) {
wcards.remove(task);
Iterator iterator = changeListeners.iterator();
while (iterator.hasNext())
((IWildcardListViewer) iterator.next()).removeWildcard(task);
}
public void removeAll(){
for(int i=0; i<this.wcards.size(); i++){
CustomWildcard task = (CustomWildcard)wcards.get(i);
Iterator iterator = changeListeners.iterator();
while (iterator.hasNext())
((IWildcardListViewer) iterator.next()).removeWildcard(task);
}
wcards.clear();
}
public CustomWildcard[] getWildcards() {
return (CustomWildcard[]) this.wcards.toArray(new CustomWildcard[this.wcards.size()]);
}
}