Coverage Report - uk.co.javagear.RomFilter
 
Classes in this File Line Coverage Branch Coverage Complexity
RomFilter
0% 
0% 
2.333
 
 1  
 /*
 2  
  * RomFilter.java
 3  
  *
 4  
  * This file is part of JavaGear.
 5  
  *
 6  
  * JavaGear is free software; you can redistribute it and/or modify
 7  
  * it under the terms of the GNU General Public License as published by
 8  
  * the Free Software Foundation; either version 2 of the License, or
 9  
  * (at your option) any later version.
 10  
  *
 11  
  * JavaGear is distributed in the hope that it will be useful,
 12  
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 13  
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 14  
  * GNU General Public License for more details.
 15  
  *
 16  
  * You should have received a copy of the GNU General Public License
 17  
  * along with JavaGear; if not, write to the Free Software
 18  
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 19  
  */
 20  
 
 21  
 package uk.co.javagear;
 22  
 
 23  
 import java.io.File;
 24  
 import javax.swing.filechooser.FileFilter;
 25  
 
 26  
 /**
 27  
  * JavaGear File Filters (Code from "Core Java Volume #1").
 28  
  *
 29  
  * @author Copyright (C) 2002 Chris White
 30  
  * @version 17th March 2002
 31  
  * @see "JavaGear Final Project Report"
 32  
  */
 33  0
 public class RomFilter extends FileFilter {
 34  
     
 35  
     /**
 36  
      * Returns <code>true</code> if the file given is accepted and <code>false</code> otherwise.
 37  
      * This filter accepts all directories and files with extension <code>sms</code>,
 38  
      * <code>gg</code> or <code>zip</code>.
 39  
      *
 40  
      * @param f the instance of <code>File</code> to accept or reject.
 41  
      * @return <code>true</code> if the file given is accepted and <code>false</code> otherwise.
 42  
      */
 43  
     public boolean accept(File f) {
 44  
         // Allow directories
 45  0
         if (f.isDirectory()) {
 46  0
             return true;
 47  
         }
 48  
         
 49  0
         String extension = getExtension(f);
 50  
         
 51  0
         return extension.equals(Setup.System.SMS.getRomFileExtension())
 52  
                 || extension.equals(Setup.System.GG.getRomFileExtension())
 53  
                 || extension.equals(Setup.ZIP_FILE_EXTENSION);
 54  
     }
 55  
     
 56  
     /**
 57  
      * Returns a description of this filter, <code>"All ROMs (*.SMS, *.GG, *.ZIP)"</code>.
 58  
      *
 59  
      * @return a description of this filter, <code>"All ROMs (*.SMS, *.GG, *.ZIP)"</code>.
 60  
      */
 61  
     public String getDescription() {
 62  0
         return "All ROMs (*." + Setup.System.SMS.getRomFileExtension().toUpperCase()
 63  
                 + ", *." + Setup.System.GG.getRomFileExtension().toUpperCase()
 64  
                 + ", *." + Setup.ZIP_FILE_EXTENSION.toUpperCase() + ")";
 65  
     }
 66  
     
 67  
     /**
 68  
      * Returns a file's extension in lowercase characters.
 69  
      *
 70  
      * @param f a non-null instance of <code>File</code>.
 71  
      * @return the file's extension in lowercase characters.
 72  
      */
 73  
     protected static String getExtension(File f) {
 74  0
         String s = f.getName();
 75  0
         int i = s.lastIndexOf('.');
 76  0
         if (i > 0 && i < s.length() - 1) {
 77  0
             return s.substring(i + 1).toLowerCase();
 78  
         }
 79  0
         return "";
 80  
     }
 81  
     
 82  
 }