package timeflow.data.db.filter; import java.util.*; import timeflow.data.db.Act; public class AndFilter extends ActFilter { private List filters; public AndFilter() { } public AndFilter(ActFilter a, ActFilter b) { filters=new ArrayList(); and(a); and(b); } public void and(ActFilter a) { if (a==null) return; if (filters==null) filters=new ArrayList(); filters.add(a); } @Override public boolean accept(Act act) { if (filters!=null) for (ActFilter f: filters) if (!f.accept(act)) return false; return true; } public int countFilters() { int sum=0; if (filters!=null) for (ActFilter f: filters) if (f!=null) sum+=f.countFilters(); return sum; } }