/*
* @(#)BasicListFilter.java
*
* Copyright 2002 EGANTT LLP. All rights reserved.
* PROPRIETARY/QPL. Use is subject to license terms.
*/
package com.egantt.data.filter.basic;
import com.egantt.data.Filter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class BasicListFilter implements Filter
{
protected final boolean requireAll;
protected List <Filter>filters = new ArrayList<Filter>(5);
public BasicListFilter(boolean requireAll)
{
this.requireAll = requireAll;
}
// _________________________________________________________________________
public void add(Filter filter)
{
filters.add(filter);
}
public void remove(Filter filter)
{
filters.remove(filter);
}
// _________________________________________________________________________
public boolean include(Object o)
{
for (Iterator iter = filters.iterator(); iter.hasNext();)
if (!((Filter) iter.next()).include(o))
return !requireAll;
return requireAll;
}
}