private static void unwrap(List<Filter> filters, Set<Filter> unwrapped) { for (Filter filter : filters) { if (filter instanceof FilterList) { FilterList filterList = (FilterList) filter; unwrap(filterList.getFilters(), unwrapped); } else { unwrapped.add(filter); } } }
private static void unwrap(List<Filter> filters, Set<Filter> unwrapped) { for (Filter filter : filters) { if (filter instanceof FilterList) { FilterList filterList = (FilterList) filter; unwrap(filterList.getFilters(), unwrapped); } else { unwrapped.add(filter); } } }
private static void unwrap(List<Filter> filters, Set<Filter> unwrapped) { for (Filter filter : filters) { if (filter instanceof FilterList) { FilterList filterList = (FilterList) filter; unwrap(filterList.getFilters(), unwrapped); } else { unwrapped.add(filter); } } }
public static Filter optimize(List<Filter>... filterss) { Set<Filter> unwrapped = new LinkedHashSet<Filter>(); for (List<Filter> filters : filterss) { unwrap(filters, unwrapped); } if (unwrapped.size() > 1) { Iterator<Filter> iterator = unwrapped.iterator(); while (iterator.hasNext()) { Filter filter = iterator.next(); if (filter == NONE) iterator.remove(); } } if (unwrapped.size() == 0) return NONE; if (unwrapped.size() == 1) return unwrapped.iterator().next(); return new FilterList(unwrapped); }
public static Filter optimize(List<Filter>... filterss) { Set<Filter> unwrapped = new LinkedHashSet<Filter>(); for (List<Filter> filters : filterss) { unwrap(filters, unwrapped); } if (unwrapped.size() > 1) { Iterator<Filter> iterator = unwrapped.iterator(); while (iterator.hasNext()) { Filter filter = iterator.next(); if (filter == NONE) iterator.remove(); } } if (unwrapped.size() == 0) return NONE; if (unwrapped.size() == 1) return unwrapped.iterator().next(); return new FilterList(unwrapped); }
public static Filter optimize(List<Filter>... filterss) { Set<Filter> unwrapped = new LinkedHashSet<Filter>(); for (List<Filter> filters : filterss) { unwrap(filters, unwrapped); } if (unwrapped.size() > 1) { Iterator<Filter> iterator = unwrapped.iterator(); while (iterator.hasNext()) { Filter filter = iterator.next(); if (filter == NONE) iterator.remove(); } } if (unwrapped.size() == 0) return NONE; if (unwrapped.size() == 1) return unwrapped.iterator().next(); return new FilterList(unwrapped); }