001package com.pingidentity.sync.source; 002 003import java.io.File; 004import java.io.FileFilter; 005 006public class SourceFileFilter implements FileFilter { 007 private final String fileExtension; 008 private final String filePrefix; 009 010 public SourceFileFilter(String fileExtension, String filePrefix) { 011 this.fileExtension= fileExtension; 012 this.filePrefix = filePrefix; 013 } 014 015 private boolean extensionMatch(final File f){ 016 return fileExtension == null || f.getName().endsWith(fileExtension); 017 } 018 private boolean prefixMatch(final File f) { 019 return filePrefix == null || f.getName().startsWith(filePrefix); 020 } 021 @Override 022 public boolean accept(File f) { 023 return ( f != null ) 024 && f.exists() 025 && f.isFile() 026 && f.canRead() 027 && extensionMatch(f) 028 && prefixMatch(f); 029 } 030}