Coverage report

  %line %branch
net.sf.tlc.util.ClassPathUtils
88% 
100% 

 1  
 /*
 2  
  * Created on May 19, 2005
 3  
  *
 4  
  * ClassPathUtils provides a set of static utility methods used in the
 5  
  * manipulation of paths to classes.
 6  
  */
 7  
 package net.sf.tlc.util;
 8  
 
 9  
 /**
 10  
  * ClassPathUtils provides a set of static utility methods used in the
 11  
  * manipulation of paths to classes.
 12  
  * 
 13  
  * @author aisrael
 14  
  */
 15  
 public final class ClassPathUtils {
 16  
 
 17  
     private static final String CLASS_EXT = ".class";
 18  
 
 19  
     /**
 20  
      * ClassPathUtils instances should NOT be constructed in standard
 21  
      * programming.
 22  
      */
 23  0
     private ClassPathUtils() {
 24  
         // noop
 25  0
     }
 26  
     
 27  
     /**
 28  
      * Returns the expected class name from a class file's absolute path or null
 29  
      * if the path does not end with ".class".
 30  
      * 
 31  
      * @param path
 32  
      *            the absolute path to the class
 33  
      * @return the expected class name, or null
 34  
      */
 35  
     public static String toClassName(final String path) {
 36  
         final int offset;
 37  110
         if (path.startsWith("/")) {
 38  20
             offset = 1;
 39  
         } else {
 40  90
             offset = 0;
 41  
         }
 42  110
         return toClassName(offset, path);
 43  
     }    
 44  
 
 45  
     /**
 46  
      * Returns the expected class name from a class file's absolute path and the
 47  
      * 'base dir' to calculate it from, or null if the absolutePath does not
 48  
      * start with the baseDir and does not end with ".class".
 49  
      * 
 50  
      * @param baseDir
 51  
      *            the base directory
 52  
      * @param absolutePath
 53  
      *            the absolute path to the class
 54  
      * @return the expected class name, or null
 55  
      */
 56  
     public static String toClassName(final String baseDir, class="keyword">final String absolutePath) {
 57  
         final String result;
 58  
         final int offset;
 59  90
         if (baseDir.endsWith("/")) {
 60  20
             offset = 0;
 61  
         } else {
 62  70
             offset = 1;
 63  
         }
 64  90
         if (absolutePath.startsWith(baseDir)) {
 65  80
             result = toClassName(baseDir.length() + offset, absolutePath);
 66  
         } else {
 67  10
             result = null;
 68  
         }
 69  90
         return result;
 70  
     }
 71  
 
 72  
     /**
 73  
      * Returns the expected class name from a class file's absolute path
 74  
      * starting at the offset, or null if the absolutePath does not end with
 75  
      * ".class".
 76  
      * 
 77  
      * @param offset
 78  
      *            int
 79  
      * @param path
 80  
      *            String
 81  
      * @return the expected class name, or null
 82  
      */
 83  
     private static String toClassName(final int offset, class="keyword">final String path) {
 84  
         final String result;
 85  190
         if (path.endsWith(CLASS_EXT)) {
 86  170
             result = path.substring(offset, path.lastIndexOf(CLASS_EXT)).replace('/', '.');
 87  
         } else {
 88  20
             result = null;
 89  
         }
 90  190
         return result;
 91  
     }
 92  
 }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.