View Javadoc

1   package com.atlassian.core.util.filter;
2   
3   import com.atlassian.core.util.filter.Filter;
4   
5   import java.util.List;
6   import java.util.ArrayList;
7   
8   /**
9    * Composite Filter that applies a series of filters in turn.
10   *
11   * By default, the composite filter lets all objects through, so 
12   * a composite filter with no filters added,
13   */
14  public class FilterChain implements Filter
15  {
16      private List filters = new ArrayList();
17  
18      public FilterChain() {}
19  
20      public void addFilter(Filter filter)
21      {
22          filters.add(filter);
23      }
24  
25      public boolean isIncluded(Object o)
26      {
27          for (int i = 0; i < filters.size(); i++)
28          {
29              if (!((Filter)filters.get(i)).isIncluded(o))
30                  return false;
31          }
32  
33          return true;
34      }
35  }