package org.archive.wayback.webapp; import java.util.List; import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; import org.archive.wayback.util.ObjectFilterChain; public class CustomMultiFilterFactory implements CustomResultFilterFactory { List<CustomResultFilterFactory> filters; public List<CustomResultFilterFactory> getFilters() { return this.filters; } public void setFilters(List<CustomResultFilterFactory> filters) { this.filters = filters; } @Override public ObjectFilter<CaptureSearchResult> get(AccessPoint ap) { final ObjectFilterChain<CaptureSearchResult> chain = new ObjectFilterChain<CaptureSearchResult>(); for (CustomResultFilterFactory factory : filters) { chain.addFilter(factory.get(ap)); } return new ObjectFilter<CaptureSearchResult>() { @Override public int filterObject(CaptureSearchResult o) { return chain.filterObject(o); } }; } }