qflib 0.98.0

de.qfs.lib.util
Class ExtensionFileFilter

java.lang.Object
  |
  +--javax.swing.filechooser.FileFilter
        |
        +--de.qfs.lib.util.ExtensionFileFilter
All Implemented Interfaces:
java.io.FilenameFilter

public class ExtensionFileFilter
extends javax.swing.filechooser.FileFilter
implements java.io.FilenameFilter

Generic extension based file filter for AWT and Swing file chooser dialogs as well as for File.list.

An ExtensionFileFilter will accept all files whose name matches one of a fixed set of extenstions. Optionally directories can be accepted without checking their name.

Since:
0.98.0
Version:
$Revision: 1.2 $
Author:
Gregor Schmid

Constructor Summary
ExtensionFileFilter(java.lang.String desc, java.lang.String[] multi, boolean acceptDirectories, boolean ignoreCase)
          Create a new ExtensionFileFilter.
ExtensionFileFilter(java.lang.String desc, java.lang.String ext, boolean acceptDirectories, boolean ignoreCase)
          Create a new ExtensionFileFilter.
 
Method Summary
 boolean accept(java.io.File file)
          Accept or reject a file.
 boolean accept(java.io.File directory, java.lang.String name)
          Accept or reject a file.
 java.io.File forceExtension(java.io.File file)
          Check whether a filename has a proper extension for this ExtensionFileFilter.
 java.lang.String getDescription()
          Get a description for the ExtensionFileFilter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExtensionFileFilter

public ExtensionFileFilter(java.lang.String desc,
                           java.lang.String ext,
                           boolean acceptDirectories,
                           boolean ignoreCase)
Create a new ExtensionFileFilter.
Parameters:
desc - The description for the ExtensionFileFilter.
ext - The extension to accept (including the '.').
acceptDirectories - Whether directories are always accepted.
ignoreCase - Whether case is ignore when checking the file's extension.

ExtensionFileFilter

public ExtensionFileFilter(java.lang.String desc,
                           java.lang.String[] multi,
                           boolean acceptDirectories,
                           boolean ignoreCase)
Create a new ExtensionFileFilter.
Parameters:
desc - The description for the ExtensionFileFilter.
ext - The extensions to accept (including the '.').
acceptDirectories - Whether directories are always accepted.
ignoreCase - Whether case is ignore when checking the file's extension.
Method Detail

accept

public boolean accept(java.io.File file)
Accept or reject a file.
Overrides:
accept in class javax.swing.filechooser.FileFilter
Parameters:
file - The file to test.
Returns:
True if the file's extension matches one of the ExtensionFileFilter's extensions or if it is a directory and acceptDirectories is true.

accept

public boolean accept(java.io.File directory,
                      java.lang.String name)
Accept or reject a file.
Specified by:
accept in interface java.io.FilenameFilter
Parameters:
directory - The drirectory of the file to test.
name - The name of the file to test.
Returns:
True if the file's extension matches one of the ExtensionFileFilter's extensions or if it is a directory and acceptDirectories is true.

getDescription

public java.lang.String getDescription()
Get a description for the ExtensionFileFilter.
Overrides:
getDescription in class javax.swing.filechooser.FileFilter
Returns:
The ExtensionFileFilter's description.

forceExtension

public java.io.File forceExtension(java.io.File file)
Check whether a filename has a proper extension for this ExtensionFileFilter. If not, create a new File with the first of the valid extenstions added and return it. This is useful when a user types a filename without an extension into a save file dialog.
Parameters:
file - The file to correct.
Returns:
The correct file.

qflib 0.98.0