Normand Briere
2018-07-07 09ddd38fd4a8a7100c834a5e976f4796fae53541
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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());
   }
 
}