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