1 /* 2 Copyright (C) 2000 - 2007 Grid Systems, S.A. 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License, version 2, as 6 published by the Free Software Foundation. 7 8 This program is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 GNU General Public License for more details. 12 13 You should have received a copy of the GNU General Public License 14 along with this program; if not, write to the Free Software 15 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 16 */ 17 package com.gridsystems; 18 19 import java.io.File; 20 import java.io.FileFilter; 21 import java.util.ArrayList; 22 import java.util.List; 23 24 /** 25 * OrFileFilter type. 26 * 27 * @author Rodrigo Ruiz 28 */ 29 public class OrFileFilter implements FileFilter { 30 31 /** 32 * Filters to combine. 33 */ 34 private final List<FileFilter> filters = new ArrayList<FileFilter>(); 35 36 /** 37 * Creates a new instance. 38 * 39 * @param filters A list of filters to combine 40 */ 41 public OrFileFilter(FileFilter... filters) { 42 for (FileFilter f : filters) { 43 if (f != null) { 44 this.filters.add(f); 45 } 46 } 47 } 48 /** 49 * {@inheritDoc} 50 */ 51 public boolean accept(File f) { 52 for (FileFilter filter : filters) { 53 if (filter.accept(f)) { 54 return true; 55 } 56 } 57 return false; 58 } 59 60 }