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 import java.nio.file.FileVisitResult; 22 import java.nio.file.Path; 23 import java.nio.file.attribute.BasicFileAttributes; 24 25 /** 26 * A file filter that always returns true. 27 * 28 * @since 1.0 29 * @see FileFilterUtils#trueFileFilter() 30 */ 31 public class TrueFileFilter implements IOFileFilter, Serializable { 32 33 private static final String TO_STRING = Boolean.TRUE.toString(); 34 35 private static final long serialVersionUID = 8782512160909720199L; 36 37 /** 38 * Singleton instance of true filter. 39 * 40 * @since 1.3 41 */ 42 public static final IOFileFilter TRUE = new TrueFileFilter(); 43 44 /** 45 * Singleton instance of true filter. Please use the identical TrueFileFilter.TRUE constant. The new name is more 46 * JDK 1.5 friendly as it doesn't clash with other values when using static imports. 47 */ 48 public static final IOFileFilter INSTANCE = TRUE; 49 50 /** 51 * Restrictive constructor. 52 */ TrueFileFilter()53 protected TrueFileFilter() { 54 } 55 56 /** 57 * Returns true. 58 * 59 * @param file the file to check (ignored) 60 * @return true 61 */ 62 @Override accept(final File file)63 public boolean accept(final File file) { 64 return true; 65 } 66 67 /** 68 * Returns true. 69 * 70 * @param dir the directory to check (ignored) 71 * @param name the file name (ignored) 72 * @return true 73 */ 74 @Override accept(final File dir, final String name)75 public boolean accept(final File dir, final String name) { 76 return true; 77 } 78 79 /** 80 * Returns true. 81 * @param file the file to check (ignored) 82 * 83 * @return true 84 * @since 2.9.0 85 */ 86 @Override accept(final Path file, final BasicFileAttributes attributes)87 public FileVisitResult accept(final Path file, final BasicFileAttributes attributes) { 88 return FileVisitResult.CONTINUE; 89 } 90 91 @Override and(final IOFileFilter fileFilter)92 public IOFileFilter and(final IOFileFilter fileFilter) { 93 // TRUE AND expression <=> expression 94 return fileFilter; 95 } 96 97 @Override negate()98 public IOFileFilter negate() { 99 return FalseFileFilter.INSTANCE; 100 } 101 102 @Override or(final IOFileFilter fileFilter)103 public IOFileFilter or(final IOFileFilter fileFilter) { 104 // TRUE OR expression <=> true 105 return INSTANCE; 106 } 107 108 @Override toString()109 public String toString() { 110 return TO_STRING; 111 } 112 } 113