FileDocCategorySizeDatePackage
MyFileFilter.javaAPI DocExample6631Thu Feb 17 20:00:42 GMT 2000com.togethersoft.modules.genidl

MyFileFilter

public class MyFileFilter extends FileFilter

Fields Summary
private Hashtable
filters
private String
description
private String
fullDescription
private boolean
useExtensionsInDescription
Constructors Summary
public MyFileFilter()
Creates a file filter. If no filters are added, then all files are accepted.

see
#addExtension

        this((String)null, (String)null);
    
public MyFileFilter(String extension)
Creates a file filter that accepts files with the given extension. Example: new ExampleFileFilter("jpg");

see
#addExtension

        this(extension, null);
    
public MyFileFilter(String extension, String aDescription)
Creates a file filter that accepts the given file type. Example: new ExampleFileFilter("jpg", "JPEG Image Images"); Note that the "." before the extension is not needed. If provided, it will be ignored.

see
#addExtension

        this(new String[] { extension }, aDescription);
    
public MyFileFilter(String[] filterz)
Creates a file filter from the given string array. Example: new ExampleFileFilter(String {"gif", "jpg"}); Note that the "." before the extension is not needed adn will be ignored.

see
#addExtension

        this(filterz, null);
    
public MyFileFilter(String[] filterz, String aDescription)
Creates a file filter from the given string array and description. Example: new ExampleFileFilter(String {"gif", "jpg"}, "Gif and JPG Images"); Note that the "." before the extension is not needed and will be ignored.

see
#addExtension

        this.filters = new Hashtable(filterz.length);
        for (int i = 0; i < filterz.length; i++) {
            // add filters one by one
            addExtension(filterz[i]);
        }
        setDescription(aDescription);
    
Methods Summary
public booleanaccept(java.io.File f)
Return true if this file should be shown in the directory pane, false if it shouldn't. Files that begin with "." are ignored.

see
#getExtension
see
FileFilter#accepts

        if (f != null) {
            if (f.isDirectory()) {
                return true;
            }
            String extension = getExtension(f);
            if (extension != null && filters.get(getExtension(f)) != null) {
                return true;
            };
        }
        return false;
    
public voidaddExtension(java.lang.String extension)
Adds a filetype "dot" extension to filter against. For example: the following code will create a filter that filters out all files except those that end in ".jpg" and ".tif": ExampleFileFilter filter = new ExampleFileFilter(); filter.addExtension("jpg"); filter.addExtension("tif"); Note that the "." before the extension is not needed and will be ignored.

        if (filters == null) {
            filters = new Hashtable(5);
        }
        filters.put(extension.toLowerCase(), this);
        fullDescription = null;
    
public java.lang.StringgetDescription()
Returns the human readable description of this filter. For example: "JPEG and GIF Image Files (*.jpg, *.gif)"

see
setDescription
see
setExtensionListInDescription
see
isExtensionListInDescription
see
FileFilter#getDescription

        if (fullDescription == null) {
            initFullDescription();
        }
        return fullDescription;
    
public java.lang.StringgetExtension(java.io.File f)
Return the extension portion of the file's name .

see
#getExtension
see
FileFilter#accept

        if (f != null) {
            String filename = f.getName();
            int i = filename.lastIndexOf('.");
            if (i > 0 && i < filename.length() - 1) {
                return filename.substring(i + 1).toLowerCase();
            };
        }
        return null;
    
private voidinitFullDescription()

        if (description == null || isExtensionListInDescription()) {
            if (description != null) {
                fullDescription = description;
            }
            fullDescription += " (";
            // build the description from the extension list
            Enumeration extensions = filters.keys();
            if (extensions != null) {
                fullDescription += "." + (String)extensions.nextElement();
                while (extensions.hasMoreElements()) {
                    fullDescription += ", " + (String)extensions.nextElement();
                }
            }
            fullDescription += ")";
        }
        else {
            fullDescription = description;
        }
    
public booleanisExtensionListInDescription()
Returns whether the extension list (.jpg, .gif, etc) should show up in the human readable description. Only relevent if a description was provided in the constructor or using setDescription();

see
getDescription
see
setDescription
see
setExtensionListInDescription

        return useExtensionsInDescription;
    
public voidsetDescription(java.lang.String aDescription)
Sets the human readable description of this filter. For example: filter.setDescription("Gif and JPG Images");

see
setDescription
see
setExtensionListInDescription
see
isExtensionListInDescription

        this.description = aDescription;
        fullDescription = null;
    
public voidsetExtensionListInDescription(boolean b)
Determines whether the extension list (.jpg, .gif, etc) should show up in the human readable description. Only relevent if a description was provided in the constructor or using setDescription();

see
getDescription
see
setDescription
see
isExtensionListInDescription

        useExtensionsInDescription = b;
        fullDescription = null;