package edu.sc.seis.sod.status.waveformArm;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.w3c.dom.Element;
import edu.sc.seis.sod.ConfigurationException;
import edu.sc.seis.sod.EventChannelPair;
import edu.sc.seis.sod.EventNetworkPair;
import edu.sc.seis.sod.EventStationPair;
import edu.sc.seis.sod.EventVectorPair;
import edu.sc.seis.sod.status.eventArm.EventGroupTemplate;
public class WaveformEventGroup extends EventGroupTemplate implements WaveformMonitor{
public WaveformEventGroup(){ useDefaultConfig(); }
public WaveformEventGroup(Element el) throws ConfigurationException {
parse(el);
}
public Object getTemplate(String tag, Element el) throws ConfigurationException {
try {
// this is a weird template due to dependence on external an xml template
// maybe this should be changed later...
// TODO
if(tag.equals("waveformEvents")) return new WaveformEventTemplateGenerator(el);
} catch (Exception e) {
throw new RuntimeException("Problem getting template in WaveformEventGroup", e);
}
return super.getTemplate(tag, el);
}
public void update(EventNetworkPair ecp) {
Iterator it = ecpListeners.iterator();
while(it.hasNext())((WaveformMonitor)it.next()).update(ecp);
}
public void update(EventStationPair ecp) {
Iterator it = ecpListeners.iterator();
while(it.hasNext())((WaveformMonitor)it.next()).update(ecp);
}
public void update(EventChannelPair ecp) {
Iterator it = ecpListeners.iterator();
while(it.hasNext())((WaveformMonitor)it.next()).update(ecp);
}
public void update(EventVectorPair ecp) {
Iterator it = ecpListeners.iterator();
while(it.hasNext())((WaveformMonitor)it.next()).update(ecp);
}
private List ecpListeners = new ArrayList();
}