Coverage Report - com.buckosoft.PicMan.business.util.Classes
 
Classes in this File Line Coverage Branch Coverage Complexity
Classes
0%
0/14
0%
0/6
5
 
 1  
 /******************************************************************************
 2  
  * Classes.java - Class utilities.
 3  
  * 
 4  
  * PicMan - The BuckoSoft Picture Manager in Java
 5  
  * Copyright(c) 2008 - Dick Balaska
 6  
  * 
 7  
  */
 8  
 package com.buckosoft.PicMan.business.util;
 9  
 
 10  
 import java.io.File;
 11  
 import java.util.ArrayList;
 12  
 
 13  
 /** Class utilities.
 14  
  * @author Dick Balaska
 15  
  * @since 2008/09/20
 16  
  * @see <a href="http://cvs.buckosoft.com/Projects/java/PicMan/PicMan/src/com/buckosoft/PicMan/business/util/Classes.java">Classes.java</a>
 17  
  */
 18  0
 public class Classes {
 19  
         /** List Classes inside a given package.
 20  
          * <br>
 21  
          * author Jon Peck http://jonpeck.com (adapted from http://www.javaworld.com/javaworld/javatips/jw-javatip113.html)
 22  
          * @param pckgname String name of a Package, EG "java.lang"
 23  
          * @return Class[] classes inside the root of the given package
 24  
          * @throws ClassNotFoundException if the Package is invalid
 25  
          */
 26  
         public static String[] getClasses(String pckgname) /*throws ClassNotFoundException*/ {
 27  0
                 ArrayList<String> classes=new ArrayList<String>();
 28  
                 // Get a File object for the package
 29  0
                 File directory=null;
 30  
                 try {
 31  0
                         directory=new File(Thread.currentThread().getContextClassLoader().getResource('/'+pckgname.replace('.', '/')).getFile());
 32  0
                 } catch(NullPointerException x) {
 33  
                         //throw new ClassNotFoundException(pckgname+" does not appear to be a valid package");
 34  0
                 }
 35  0
                 if(directory.exists()) {
 36  
                         // Get the list of the files contained in the package
 37  0
                         String[] files=directory.list();
 38  0
                         for(int i=0; i<files.length; i++) {
 39  
                                 // we are only interested in .class files
 40  0
                                 if(files[i].endsWith(".class")) {
 41  
                                         // removes the .class extension
 42  
                                         //classes.add(Class.forName(pckgname+'.'+files[i].substring(0, files[i].length()-6)));
 43  0
                                         classes.add(files[i].substring(0, files[i].length()-6));
 44  
                                 }
 45  
                         }
 46  
                 } else {
 47  
                         //throw new ClassNotFoundException(pckgname+" does not appear to be a valid package");
 48  
                 }
 49  0
                 String[] ss = new String[classes.size()];
 50  0
                 classes.toArray(ss);
 51  0
                 return(ss);
 52  
         }        
 53  
 
 54  
 }