1 /** 2 * The contents of this file are subject to the Mozilla Public License Version 1.1 3 * (the "License"); you may not use this file except in compliance with the License. 4 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 5 * Software distributed under the License is distributed on an "AS IS" basis, 6 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 7 * specific language governing rights and limitations under the License. 8 * 9 * The Original Code is "" Description: 10 * "" 11 * 12 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 13 * 2001. All Rights Reserved. 14 * 15 * Contributor(s): ______________________________________. 16 * 17 * Alternatively, the contents of this file may be used under the terms of the 18 * GNU General Public License (the "GPL"), in which case the provisions of the GPL are 19 * applicable instead of those above. If you wish to allow use of your version of this 20 * file only under the terms of the GPL and not to allow others to use your version 21 * of this file under the MPL, indicate your decision by deleting the provisions above 22 * and replace them with the notice and other provisions required by the GPL License. 23 * If you do not delete the provisions above, a recipient may use your version of 24 * this file under either the MPL or the GPL. 25 */ 26 package ca.uhn.hl7v2.testpanel.util; 27 28 import java.io.File; 29 30 import javax.swing.filechooser.FileFilter; 31 32 /** 33 * Based on code from http://www.java2s.com/Code/Java/Swing-JFC/CustomizingaJFileChooser.htm 34 */ 35 public class ExtensionFilter extends FileFilter { 36 private String extensions[]; 37 38 private String description; 39 40 public ExtensionFilter(String description, String extension) { 41 this(description, new String[] { extension }); 42 } 43 44 public ExtensionFilter(String description, String extensions[]) { 45 this.description = description; 46 this.extensions = (String[]) extensions.clone(); 47 } 48 49 public boolean accept(File file) { 50 if (file.isDirectory()) { 51 return true; 52 } 53 int count = extensions.length; 54 String path = file.getAbsolutePath(); 55 for (int i = 0; i < count; i++) { 56 String ext = extensions[i]; 57 if (path.endsWith(ext) 58 && (path.charAt(path.length() - ext.length()) == '.')) { 59 return true; 60 } 61 } 62 return false; 63 } 64 65 public String getDescription() { 66 return (description == null ? extensions[0] : description); 67 } 68 }