196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project/*
296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more
396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * contributor license agreements.  See the NOTICE file distributed with
496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * this work for additional information regarding copyright ownership.
596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0
696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * (the "License"); you may not use this file except in compliance with
796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * the License.  You may obtain a copy of the License at
896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project *
996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
1096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project *
1196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
1296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
1396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * See the License for the specific language governing permissions and
1596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * limitations under the License.
1696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project */
1796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Projectpackage org.apache.commons.io.filefilter;
1896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
1996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Projectimport java.io.File;
2096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Projectimport java.io.Serializable;
2196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
2296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project/**
2396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * This filter accepts <code>File</code>s that are files (not directories).
2496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * <p>
2596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * For example, here is how to print out a list of the real files
2696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * within the current directory:
2796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project *
2896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * <pre>
2996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * File dir = new File(".");
3096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * String[] files = dir.list( FileFileFilter.FILE );
3196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * for ( int i = 0; i &lt; files.length; i++ ) {
3296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project *     System.out.println(files[i]);
3396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * }
3496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * </pre>
3596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project *
3696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * @since Commons IO 1.3
3796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project * @version $Revision: 155419 $ $Date: 2007-10-24 16:53:07 +0100 (Wed, 24 Oct 2007) $
3896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project */
3996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Projectpublic class FileFileFilter extends AbstractFileFilter implements Serializable {
4096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
4196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project    /** Singleton instance of file filter */
4296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project    public static final IOFileFilter FILE = new FileFileFilter();
4396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
4496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project    /**
4596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project     * Restrictive consructor.
4696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project     */
4796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project    protected FileFileFilter() {
4896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project    }
4996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
5096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project    /**
5196c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project     * Checks to see if the file is a file.
5296c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project     *
5396c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project     * @param file  the File to check
5496c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project     * @return true if the file is a file
5596c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project     */
5696c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project    public boolean accept(File file) {
5796c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project        return file.isFile();
5896c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project    }
5996c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project
6096c5af40d639d629267794f4f0338a267ff94ce5The Android Open Source Project}
61