/** * Copyright (C) 2008-2010, Squale Project - http://www.squale.org * * This file is part of Squale. * * Squale is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of the * License, or any later version. * * Squale 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 General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Squale. If not, see <http://www.gnu.org/licenses/>. */ package org.squale.squalix.tools.mccabe; import java.io.File; import java.io.FileFilter; /** * Filtre de nom utilis� pour filtrer les fichiers � analyser. * * @author m400842 (by rose) * @version 1.0 */ class McCabeFileFilter implements FileFilter { /** R�pertoire racine */ private String mRoot; /** Extensions permises */ private String[] mExtensions; /** * Constructeur * * @param pRoot r�pertoire racine * @param pExtensions extensions admises */ McCabeFileFilter( String pRoot, String[] pExtensions ) { mRoot = pRoot; mExtensions = pExtensions; } /** * @param pFile le nom du fichier * @return vrai si le fichier doit �tre list�, faux sinon. * @roseuid 42D3CF0C0296 */ public boolean accept( File pFile ) { boolean result = false; if ( pFile.isFile() ) { // Si c'est un fichier // On r�cup�re le nom du fichier String filename = pFile.getName(); // On r�cup�re la liste des extensions String fileExtension = null; // On r�cup�re l'extension int extIndex = filename.lastIndexOf( "." ); if ( extIndex != -1 ) { fileExtension = filename.substring( extIndex + 1 ); } else { fileExtension = ""; } // On v�rifie si l'extension est accept�e for ( int i = 0; i < mExtensions.length && !result; i++ ) { if ( mExtensions[i].equalsIgnoreCase( fileExtension ) ) { result = true; } } } else if ( pFile.isDirectory() ) { result = true; } return result; } }