package edu.sc.seis.sod.status; import java.util.Iterator; import org.w3c.dom.Element; import edu.sc.seis.fissuresUtil.time.MicroSecondTimeRange; import edu.sc.seis.sod.ConfigurationException; public class MicroSecondTimeRangeFormatter extends Template implements MicroSecondTimeRangeTemplate { public MicroSecondTimeRangeFormatter(Element el) throws ConfigurationException { this(el, false); } public MicroSecondTimeRangeFormatter(Element el, boolean fileize) throws ConfigurationException { this.filizeResults = fileize; parse(el, filizeResults); } protected Object textTemplate(final String text) { return new MicroSecondTimeRangeTemplate() { public String getResult(MicroSecondTimeRange timeRange) { return text; } }; } protected Object getTemplate(String tag, final Element el) { if(tag.equals("beginTime")) { return new MicroSecondTimeRangeTemplate() { public String getResult(MicroSecondTimeRange timeRange) { return tt.getResult(timeRange.getBeginTime() .getFissuresTime()); } TimeTemplate tt = new TimeTemplate(el, true); }; } else if(tag.equals("endTime")) { return new MicroSecondTimeRangeTemplate() { public String getResult(MicroSecondTimeRange timeRange) { return tt.getResult(timeRange.getEndTime() .getFissuresTime()); } TimeTemplate tt = new TimeTemplate(el, true); }; } return super.getCommonTemplate(tag, el); } public String getResult(MicroSecondTimeRange timeRange) { StringBuffer buf = new StringBuffer(); Iterator it = templates.iterator(); while(it.hasNext()) { buf.append(((MicroSecondTimeRangeTemplate)it.next()).getResult(timeRange)); } if(filizeResults) { return FissuresFormatter.filize(buf.toString()); } else { return buf.toString(); } } boolean filizeResults = false; }