001    /*
002     * Created on Nov 1, 2007
003     *
004     * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
005     * in compliance with the License. You may obtain a copy of the License at
006     *
007     * http://www.apache.org/licenses/LICENSE-2.0
008     *
009     * Unless required by applicable law or agreed to in writing, software distributed under the License
010     * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
011     * or implied. See the License for the specific language governing permissions and limitations under
012     * the License.
013     *
014     * Copyright @2007 the original author or authors.
015     */
016    package org.fest.util;
017    
018    import java.util.Collection;
019    import java.util.List;
020    
021    /**
022     * Understands a filter for elements in a collection.
023     * @param <T> the generic type of the elements to return by the filter.
024     *
025     * @author Yvonne Wang
026     */
027    public interface CollectionFilter<T> {
028    
029      /**
030       * Filters a given collection.
031       * @param target the collection to filter.
032       * @return a list containing the filtered elements.
033       */
034      List<T> filter(Collection<?> target);
035    }