1 4 package com.openedit.util.strainer; 5 6 11 public class AndFilter implements CompositeFilter 12 { 13 protected Filter[] fieldFilters; 14 15 18 public AndFilter() 19 { 20 } 21 22 27 public AndFilter(Filter[] inFilters) 28 { 29 fieldFilters = inFilters; 30 } 31 32 38 public AndFilter(Filter inFilter1, Filter inFilter2) 39 { 40 fieldFilters = new Filter[] { inFilter1, inFilter2 }; 41 } 42 43 48 public Filter[] getFilters() 49 { 50 return fieldFilters; 51 } 52 53 58 public void setFilters(Filter[] newFilters) 59 { 60 fieldFilters = newFilters; 61 } 62 63 72 public boolean passes(Object inObj) throws FilterException 73 { 74 for (int i = 0; i < fieldFilters.length; i++) 75 { 76 if (!fieldFilters[i].passes(inObj)) 77 { 78 return false; 79 } 80 } 81 82 return true; 83 } 84 85 88 public void accept(FilterVisitor inFilterVisitor) throws FilterException 89 { 90 if (inFilterVisitor instanceof AndFilterVisitor) 91 { 92 ((AndFilterVisitor) inFilterVisitor).visitAndFilter(this); 93 } 94 } 95 96 99 public String toString() 100 { 101 StringBuffer buffer = new StringBuffer (); 102 Filter[] filters = getFilters(); 103 for (int i = 0; i < filters.length; i++) 104 { 105 if (i > 0) 106 { 107 buffer.append(" and "); 108 } 109 buffer.append("("); 110 buffer.append(filters[i].toString()); 111 buffer.append(")"); 112 } 113 return buffer.toString(); 114 } 115 } 116 | Popular Tags |