package timeflow.data.db.filter;
import java.util.*;
import timeflow.data.db.Act;
public class AndFilter extends ActFilter {
private List<ActFilter> filters;
public AndFilter()
{
}
public AndFilter(ActFilter a, ActFilter b)
{
filters=new ArrayList<ActFilter>();
and(a);
and(b);
}
public void and(ActFilter a)
{
if (a==null)
return;
if (filters==null)
filters=new ArrayList<ActFilter>();
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;
}
}