1bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook/*
2bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Licensed to the Apache Software Foundation (ASF) under one or more
3bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * contributor license agreements.  See the NOTICE file distributed with
4bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * this work for additional information regarding copyright ownership.
5bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * The ASF licenses this file to You under the Apache License, Version 2.0
6bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * (the "License"); you may not use this file except in compliance with
7bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * the License.  You may obtain a copy of the License at
8bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook *
9bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook *      http://www.apache.org/licenses/LICENSE-2.0
10bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook *
11bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Unless required by applicable law or agreed to in writing, software
12bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * distributed under the License is distributed on an "AS IS" BASIS,
13bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * See the License for the specific language governing permissions and
15bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * limitations under the License.
16bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */
17bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookpackage org.apache.commons.io.filefilter;
18bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook
19bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookimport java.io.File;
20bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookimport java.io.Serializable;
21bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook
22bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook/**
23bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * A file filter that always returns true.
24bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook *
25bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * @since Commons IO 1.0
26bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * @version $Revision: 587978 $ $Date: 2007-10-24 20:36:51 +0100 (Wed, 24 Oct 2007) $
27bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook *
28bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * @author Stephen Colebourne
29bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */
30bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookpublic class TrueFileFilter implements IOFileFilter, Serializable {
31bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook
32bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    /**
33bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * Singleton instance of true filter.
34bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * @since Commons IO 1.3
35bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     */
36bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    public static final IOFileFilter TRUE = new TrueFileFilter();
37bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    /**
38bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * Singleton instance of true filter.
39bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * Please use the identical TrueFileFilter.TRUE constant.
40bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * The new name is more JDK 1.5 friendly as it doesn't clash with other
41bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * values when using static imports.
42bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     */
43bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    public static final IOFileFilter INSTANCE = TRUE;
44bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook
45bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    /**
46bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * Restrictive consructor.
47bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     */
48bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    protected TrueFileFilter() {
49bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    }
50bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook
51bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    /**
52bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * Returns true.
53bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     *
54bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * @param file  the file to check
55bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * @return true
56bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     */
57bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    public boolean accept(File file) {
58bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook        return true;
59bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    }
60bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook
61bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    /**
62bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * Returns true.
63bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     *
64bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * @param dir  the directory to check
65bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * @param name  the filename
66bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     * @return true
67bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook     */
68bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    public boolean accept(File dir, String name) {
69bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook        return true;
70bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook    }
71bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook
72bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook}
73