package edu.sc.seis.sod.subsetter.origin;
import org.w3c.dom.Element;
import edu.iris.Fissures.event.EventAttrImpl;
import edu.iris.Fissures.event.OriginImpl;
import edu.iris.Fissures.model.MicroSecondDate;
import edu.iris.Fissures.model.TimeInterval;
import edu.sc.seis.fissuresUtil.cache.CacheEvent;
import edu.sc.seis.fissuresUtil.chooser.ClockUtil;
import edu.sc.seis.sod.ConfigurationException;
import edu.sc.seis.sod.SodUtil;
import edu.sc.seis.sod.status.StringTree;
import edu.sc.seis.sod.status.StringTreeLeaf;
/**
* @author groves Created on Apr 19, 2005
*/
public class YoungerThan implements OriginSubsetter {
public YoungerThan(Element config) throws ConfigurationException {
expirationAge = SodUtil.loadTimeInterval(config);
}
public StringTree accept(CacheEvent ev,
EventAttrImpl eventAttr,
OriginImpl preferred_origin) throws Exception {
MicroSecondDate originTime = new MicroSecondDate(preferred_origin.getOriginTime());
MicroSecondDate expirationDate = getExpirationDate(originTime);
return new StringTreeLeaf(this, expirationDate.after(ClockUtil.now()));
}
public MicroSecondDate getExpirationDate(MicroSecondDate originTime) {
return originTime.add(expirationAge);
}
private TimeInterval expirationAge;
}