1e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson/* 2e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * Copyright (c) 2007 Mockito contributors 3e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * This program is made available under the terms of the MIT License. 4e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson */ 5e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 6e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpackage org.mockito.internal.util.collections; 7e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 8e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport java.util.Collection; 9e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport java.util.LinkedList; 10e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 11e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpublic class ListUtil { 12e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 13e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public static <T> LinkedList<T> filter(Collection<T> collection, Filter<T> filter) { 14e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson LinkedList<T> filtered = new LinkedList<T>(); 15e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson for (T t : collection) { 16e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson if (!filter.isOut(t)) { 17e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson filtered.add(t); 18e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 19e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 20e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return filtered; 21e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 22e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 23e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public static interface Filter<T> { 24e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson boolean isOut(T object); 25e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 26e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson} 27