1    package com.instantbank.collections.util;
2    
3    import java.util.Iterator;
4    import java.util.Vector;
5    import javax.servlet.http.HttpServletRequest;
6    import javax.servlet.http.HttpServletResponse;
7    import javax.servlet.ServletContext;
8    
9    public class FilterChain extends Object {
10     private Vector filters = new Vector();
11   
12   
13     public FilterChain(boolean requiresCompany, ServletContext sc) {
14       SessionFilter sf;
15   
16       sf = new SessionFilter();
17       if(!requiresCompany) {
18         sf.clearRequiresCompany();
19       }
20       sf.setServletContext(sc);
21       addFilter(sf);
22     }
23   
24   
25     public boolean processFilter(HttpServletRequest request, HttpServletResponse response) throws InstantbankException {
26       Filter filter;
27   
28       Iterator it = filters.iterator();
29       while(it.hasNext()) {
30         filter = (Filter)it.next();
31         if(filter.execute(request, response)) {
32           return true;
33         }
34       }
35       return false;
36     }
37   
38   
39     public void addFilter(Filter filter) {
40       filters.add(filter);
41     }
42   }
43   
44