View Javadoc

1   package com.melloware.jukes.file.filter;
2   
3   import java.io.File;
4   import java.util.Locale;
5   
6   import javax.swing.filechooser.FileFilter;
7   
8   import org.apache.commons.io.FilenameUtils;
9   import org.apache.commons.lang.WordUtils;
10  
11  /**
12   * Filters for image files in JFileChooser.  Such as .jpg and .gif files.
13   * <p>
14   * Copyright (c) 1999-2007 Melloware, Inc. <http://www.melloware.com>
15   * @author Emil A. Lefkof III <info@melloware.com>
16   * @version 4.0
17   */
18  public final class ImageFilter
19      extends FileFilter {
20  
21      public static final String JPEG = "jpeg";
22      public static final String JPG = "jpg";
23      public static final String GIF = "gif";
24      public static final String TIFF = "tiff";
25      public static final String TIF = "tif";
26      public static final String PNG = "png";
27      public static final String[] EXTENSIONS = new String[] {
28                                                    JPEG, JPG, GIF, TIFF, TIF, PNG, JPEG.toUpperCase(Locale.US),
29                                                    JPG.toUpperCase(Locale.US), GIF.toUpperCase(Locale.US),
30                                                    TIFF.toUpperCase(Locale.US), TIF.toUpperCase(Locale.US),
31                                                    PNG.toUpperCase(Locale.US), WordUtils.capitalize(JPEG),
32                                                    WordUtils.capitalize(JPG), WordUtils.capitalize(GIF),
33                                                    WordUtils.capitalize(TIFF), WordUtils.capitalize(TIF),
34                                                    WordUtils.capitalize(PNG)
35                                                };
36  
37      /**
38       * Default Constuctor
39       */
40      public ImageFilter() {
41          super();
42      }
43  
44      /* (non-Javadoc)
45       * @see javax.swing.filechooser.FileFilter#getDescription()
46       */
47      public String getDescription() {
48          return "Image Files";
49      }
50  
51      /**
52       * Accept all music files such as .png.
53       * <p>
54       * @see javax.swing.filechooser.FileFilter#accept(java.io.File)
55       */
56      public boolean accept(File aFile) {
57          if (aFile.isDirectory()) {
58              return true;
59          }
60  
61          return FilenameUtils.isExtension(aFile.getName().toLowerCase(), EXTENSIONS);
62      }
63  
64  }