package timeflow.data.analysis;
import java.sql.Date;
import timeflow.data.analysis.DBAnalysis.*;
import timeflow.data.db.*;
import timeflow.data.db.filter.*;
import timeflow.data.time.RoughTime;
public class RangeDateAnalysis implements FieldAnalysis {
String[] description;
@Override
public String getName() {
return "Date Range";
}
@Override
public String[] getResultDescription() {
return description;
}
@Override
public InterestLevel perform(ActList acts, Field field) {
long low=0;
long high=0;
boolean defined=false;
for (Act a: acts)
{
if (a.get(field)==null)
continue;
long x=a.getTime(field).getTime();
if (defined)
{
low=Math.min(low,x);
high=Math.max(high, x);
} else
{
defined=true;
low=x;
high=low;
}
}
if (defined)
description= new String[]
{
"Lowest value: "+new Date(low),
"Highest value: "+new Date(high),
};
else
description=new String[] {"No values defined."};
return InterestLevel.INTERESTING;
}
@Override
public boolean canHandleType(Class type) {
return type==RoughTime.class;
}
}