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