package timeflow.data.db.filter;
import timeflow.data.db.Act;
import timeflow.data.db.Field;
public class MissingValueFilter extends ActFilter {
private Field field;
private boolean text, array, number;
public MissingValueFilter(Field field)
{
this.field=field;
text=field.getType()==String.class;
array=field.getType()==String[].class;
number=field.getType()==Double.class;
}
@Override
public boolean accept(Act act) {
Object o=act.get(field);
return o==null ||
number && Double.isNaN(((Double)o).doubleValue()) ||
text && "".equals(o) ||
array && ((String[])o).length==0;
}
}