Clover coverage report -
Coverage timestamp: Fri Jul 2 2004 18:04:44 CEST
file stats: LOC: 47   Methods: 1
NCLOC: 18   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
ClassLoaderUtil.java - 28.6% 100% 37.5%
coverage coverage
 1   
 /*
 2   
  * Copyright (c) 2002-2003 by OpenSymphony
 3   
  * All rights reserved.
 4   
  */
 5   
 package com.opensymphony.oscache.util;
 6   
 
 7   
 
 8   
 /**
 9   
  * <p>This code is borrowed directly from OSCore, but is duplicated
 10   
  * here to avoid having to add a dependency on the entire OSCore jar.</p>
 11   
  *
 12   
  * <p>If much more code from OSCore is needed then it might be wiser to
 13   
  * bite the bullet and add a dependency.</p>
 14   
  */
 15   
 public class ClassLoaderUtil {
 16   
     /**
 17   
      * Load a class with a given name.
 18   
      *
 19   
      * It will try to load the class in the following order:
 20   
      * <ul>
 21   
      *  <li>From Thread.currentThread().getContextClassLoader()
 22   
      *  <li>Using the basic Class.forName()
 23   
      *  <li>From ClassLoaderUtil.class.getClassLoader()
 24   
      *  <li>From the callingClass.getClassLoader()
 25   
      * </ul>
 26   
      *
 27   
      * @param className The name of the class to load
 28   
      * @param callingClass The Class object of the calling object
 29   
      * @throws ClassNotFoundException If the class cannot be found anywhere.
 30   
      */
 31  34
     public static Class loadClass(String className, Class callingClass) throws ClassNotFoundException {
 32  34
         try {
 33  34
             return Thread.currentThread().getContextClassLoader().loadClass(className);
 34   
         } catch (ClassNotFoundException e) {
 35  0
             try {
 36  0
                 return Class.forName(className);
 37   
             } catch (ClassNotFoundException ex) {
 38  0
                 try {
 39  0
                     return ClassLoaderUtil.class.getClassLoader().loadClass(className);
 40   
                 } catch (ClassNotFoundException exc) {
 41  0
                     return callingClass.getClassLoader().loadClass(className);
 42   
                 }
 43   
             }
 44   
         }
 45   
     }
 46   
 }
 47