Java tutorial
/********************************************************************************* * Ephesoft is a Intelligent Document Capture and Mailroom Automation program * developed by Ephesoft, Inc. Copyright (C) 2015 Ephesoft Inc. * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License version 3 as published by the * Free Software Foundation with the addition of the following permission added * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK * IN WHICH THE COPYRIGHT IS OWNED BY EPHESOFT, EPHESOFT DISCLAIMS THE WARRANTY * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License along with * this program; if not, see http://www.gnu.org/licenses or write to the Free * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301 USA. * * You can contact Ephesoft, Inc. headquarters at 111 Academy Way, * Irvine, CA 92617, USA. or at email address info@ephesoft.com. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Ephesoft" logo. * If the display of the logo is not reasonably feasible for * technical reasons, the Appropriate Legal Notices must display the words * "Powered by Ephesoft". ********************************************************************************/ package com.ephesoft.dcma.util; import java.io.File; import java.io.FilenameFilter; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.StringUtils; import com.ephesoft.dcma.util.logger.EphesoftLogger; import com.ephesoft.dcma.util.logger.EphesoftLoggerFactory; /** * * Filters the directory with given names. Checks whether the file exist with the given names. The methods of the file using this * filter will return a String array of length 'n' if the file exists(n files that exist under the directory). else an empty String * array * * @author Ephesoft * @version 1.0 Last Updated Date : 29-Nov-2013 * @see FilenameFilter */ public class FileExistenceFilter implements FilenameFilter { /** * Logger for logging the messages. */ private static final EphesoftLogger LOGGER = EphesoftLoggerFactory.getLogger(FileUtils.class); /** * Names of files to be accepted for the filtration. */ private final List<String> filesList = new ArrayList<String>(); /** * Constructor which accepts the names of the files to be Searched Under the directory * * @param names names to the file to be searched. If any argument is found to be null, it would be ignored. */ public FileExistenceFilter(final String... names) { LOGGER.info("Files Filteration."); if (null != names && names.length != 0) { for (final String name : names) { LOGGER.info("File came for filteration: ", name); if (!EphesoftStringUtil.isNullOrEmpty(name)) { LOGGER.info("File added. "); filesList.add(name.toLowerCase()); } } } } @Override public boolean accept(final File directory, final String name) { LOGGER.info("Checking for file ", name); boolean acceptFile = false; acceptFile = filesList.contains(name.toLowerCase()); return acceptFile; } }