001package com.hfg.util.io; 002 003import java.io.File; 004import java.io.FilenameFilter; 005import java.util.regex.Pattern; 006 007//------------------------------------------------------------------------------ 008/** 009 FilenameFilter implementation that uses regular expressions. 010 011 @author J. Alex Taylor, hairyfatguy.com 012 */ 013//------------------------------------------------------------------------------ 014// com.hfg XML/HTML Coding Library 015// 016// This library is free software; you can redistribute it and/or 017// modify it under the terms of the GNU Lesser General Public 018// License as published by the Free Software Foundation; either 019// version 2.1 of the License, or (at your option) any later version. 020// 021// This library is distributed in the hope that it will be useful, 022// but WITHOUT ANY WARRANTY; without even the implied warranty of 023// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 024// Lesser General Public License for more details. 025// 026// You should have received a copy of the GNU Lesser General Public 027// License along with this library; if not, write to the Free Software 028// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 029// 030// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com 031// jataylor@hairyfatguy.com 032//------------------------------------------------------------------------------ 033 034public class RegexpFilenameFilter implements FilenameFilter 035{ 036 private Pattern mFilenamePattern; 037 038 //-------------------------------------------------------------------------- 039 public RegexpFilenameFilter(Pattern inNameRegexp) 040 { 041 mFilenamePattern = inNameRegexp; 042 } 043 044 //-------------------------------------------------------------------------- 045 public boolean accept(File dir, String inName) 046 { 047 return mFilenamePattern.matcher(inName).matches(); 048 } 049}