/*
 * XMLFileFilter.java
 *
 * Created on September 26, 2005, 3:37 PM
 */

package net.sf.jaer.util;

import java.io.File;

/**
 * filter for XML (preferences) files.
 * @author tobi
 */
public class XMLFileFilter extends javax.swing.filechooser.FileFilter {
    
    /** Creates a new instance of XMLFileFilter */
    public XMLFileFilter() {
    }
    
    public boolean accept(File f) {
        if (f.isDirectory()) {
            return true;
        }
        
        String extension = getExtension(f);
        if (extension != null) {
            if (extension.equals("xml")){
                return true;
            } else {
                return false;
            }
        }
        return true;
    }
    
    public static String getExtension(File f) {
        String ext = null;
        String s = f.getName();
        int i = s.lastIndexOf('.');
        
        if (i > 0 &&  i < s.length() - 1) {
            ext = s.substring(i+1).toLowerCase();
        }
        return ext;
    }

    public String getDescription() {
        return "XML file";
    }
    
    /** The extension, including the dot, ".xml" 
     **/
    public static final String EXTENSION=".xml";
    
}

@@ -1,11 +1,10 @@
 /*
-%0D
 %0A * XMLF
@@ -21,13 +21,11 @@
 java
-%0D
 %0A *
-%0D
 %0A * 
@@ -66,16 +66,13 @@
 7 PM
-%0D
 %0A */
-%0D%0A%0D
+%0A
 %0Apac
@@ -93,19 +93,17 @@
 er.util;
-%0D%0A%0D
+%0A
 %0Aimport 
@@ -119,16 +119,13 @@
 ile;
-%0D%0A%0D
+%0A
 %0A/**
-%0D
 %0A * 
@@ -159,17 +159,16 @@
 ) files.
-%0D
 %0A * @aut
@@ -179,14 +179,12 @@
 tobi
-%0D
 %0A */
-%0D
 %0Apub
@@ -251,23 +251,21 @@
 Filter %7B
-%0D
 %0A    
-%0D
 %0A    /**
@@ -307,17 +307,16 @@
 ilter */
-%0D
 %0A    pub
@@ -336,30 +336,27 @@
 lter() %7B
-%0D
 %0A    %7D
-%0D
 %0A    
-%0D
 %0A    pub
@@ -375,33 +375,32 @@
 accept(File f) %7B
-%0D
 %0A        if (f.i
@@ -414,17 +414,16 @@
 ory()) %7B
-%0D
 %0A       
@@ -431,33 +431,32 @@
     return true;
-%0D
 %0A        %7D%0D%0A    
@@ -441,33 +441,32 @@
  true;%0A        %7D
-%0D
 %0A        %0D%0A     
@@ -450,33 +450,32 @@
       %7D%0A        
-%0D
 %0A        String 
@@ -502,17 +502,16 @@
 sion(f);
-%0D
 %0A       
@@ -535,17 +535,16 @@
  null) %7B
-%0D
 %0A       
@@ -562,16 +562,30 @@
 tension.
+toLowerCase().
 equals(%22
@@ -591,17 +591,16 @@
 %22xml%22))%7B
-%0D
 %0A       
@@ -616,25 +616,24 @@
 return true;
-%0D
 %0A           
@@ -641,17 +641,16 @@
 %7D else %7B
-%0D
 %0A       
@@ -671,17 +671,16 @@
 n false;
-%0D
 %0A       
@@ -677,33 +677,32 @@
 e;%0A            %7D
-%0D
 %0A        %7D%0D%0A    
@@ -687,33 +687,32 @@
      %7D%0A        %7D
-%0D
 %0A        return 
@@ -716,30 +716,160 @@
 rn true;
-%0D
 %0A    %7D
-%0D
+%0A    %0A    /** Returns filename extension in lowercase%0A     * %0A     * @param f the File%0A     * @return the extension, without the .
 %0A    
-%0D
+ */
 %0A    pub
@@ -908,17 +908,16 @@
 ile f) %7B
-%0D
 %0A       
@@ -935,17 +935,16 @@
  = null;
-%0D
 %0A       
@@ -963,25 +963,24 @@
 f.getName();
-%0D
 %0A        int
@@ -1003,17 +1003,16 @@
 Of('.');
-%0D
 %0A       
@@ -1008,25 +1008,24 @@
 ');%0A        
-%0D
 %0A        if 
@@ -1056,17 +1056,16 @@
 ) - 1) %7B
-%0D
 %0A       
@@ -1106,17 +1106,16 @@
 rCase();
-%0D
 %0A       
@@ -1112,25 +1112,24 @@
 );%0A        %7D
-%0D
 %0A        ret
@@ -1140,18 +1140,15 @@
 ext;
-%0D
 %0A    %7D
-%0D%0A%0D
+%0A
 %0A   
@@ -1180,17 +1180,16 @@
 tion() %7B
-%0D
 %0A       
@@ -1211,22 +1211,19 @@
 le%22;
-%0D
 %0A    %7D
-%0D
 %0A    
-%0D
 %0A   
@@ -1268,17 +1268,16 @@
  %22.xml%22 
-%0D
 %0A     **
@@ -1277,17 +1277,16 @@
      **/
-%0D
 %0A    pub
@@ -1330,15 +1330,12 @@
 ml%22;
-%0D
 %0A    
-%0D
 %0A%7D
-%0D
 %0A

improve description, add javadoc, fix description string