package timeflow.data.db.filter;
import timeflow.data.db.*;
import timeflow.data.time.*;
public class TimeIntervalFilter extends ActFilter {
Interval interval;
Field timeField;
boolean acceptNull;
public TimeIntervalFilter(long start, long end, boolean acceptNull, Field timeField)
{
this.interval=new Interval(start, end);
this.acceptNull=acceptNull;
this.timeField=timeField;
}
public TimeIntervalFilter(Interval interval, Field timeField)
{
this.interval=interval;
this.timeField=timeField;
}
@Override
public boolean accept(Act act) {
if (timeField==null)
return false;
RoughTime t=act.getTime(timeField);
if (t==null)
return acceptNull;
return interval.contains(t.getTime());
}
}