1 package javax.jdo; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.net.URL; 6 import java.net.URLClassLoader; 7 8 /** 9 * A class loader that allows the user to add classpath entries. 10 */ 11 public class JDOConfigTestClassLoader extends URLClassLoader { 12 13 /** 14 * Uses the CTCCL as the parent and adds the given path to this loader's classpath. 15 */ 16 public JDOConfigTestClassLoader(String... additionalPath) throws IOException { 17 this(Thread.currentThread().getContextClassLoader(), additionalPath); 18 } 19 20 /** 21 * Uses the given ClassLoader as the parent & adds the given paths to this loader's classpath. 22 */ 23 public JDOConfigTestClassLoader(ClassLoader parent, String... additionalPaths) throws IOException { 24 super(new URL[] {}, parent); 25 26 for (String path : additionalPaths) { 27 addFile(path); 28 } 29 } 30 31 public void addFile(String s) throws IOException { 32 addFile(new File(s)); 33 } 34 35 public void addFile(File f) throws IOException { 36 addURL(f.toURI().toURL()); 37 } 38 39 @Override 40 public void addURL(URL url) { 41 super.addURL(url); 42 } 43 }