/** * Return a filtered List of ClientListEntries * * @param files * @param filters * @return List of ClientListEntries */ public ArrayList<ClientListEntry> filterFiles(ArrayList<ClientListEntry> files, ArrayList<ClientFilter> filters) { ArrayList<ClientListEntry> filteredFiles = new ArrayList<ClientListEntry>(); for(ClientFilter filter: filters) { for(ClientListEntry file: files) { if (filter.match(file)) { filteredFiles.add(file); } } } return filteredFiles; }
/** * Applies the <code>ClientFilter</code> on the * <code>List<ClientListEntry></code> and return the resulting * polarised filtered list. * * @param list * @return The resulting <code>List<ClientListEntry></code>. */ public List<ClientListEntry> applyFilter(List<ClientListEntry> list) { List<ClientListEntry> filteredList = new ArrayList<ClientListEntry>(list.size()); for (ClientListEntry entry : list) { if (this.filter.match(entry) == this.polarity) filteredList.add(entry); } return filteredList; }