1 package de.juplo.plugins.hibernate;
3 import java.io.IOException;
4 import java.io.InputStream;
6 import java.net.URLClassLoader;
7 import java.util.Arrays;
8 import java.util.Enumeration;
9 import java.util.LinkedHashSet;
10 import org.apache.maven.plugin.logging.Log;
17 public class MutableClassLoader extends ClassLoader
19 private URLClassLoader loader;
23 public MutableClassLoader(LinkedHashSet<URL> urls, Log log)
25 if (log.isDebugEnabled())
27 log.debug(url.toString());
30 urls.toArray(new URL[urls.size()]),
31 getClass().getClassLoader()
37 public MutableClassLoader add(LinkedHashSet<URL> urls)
39 LinkedHashSet<URL> old =
40 new LinkedHashSet<URL>(Arrays.asList(loader.getURLs()));
42 if (log.isDebugEnabled())
44 log.debug(url.toString());
47 old.toArray(new URL[urls.size()]),
48 getClass().getClassLoader()
55 public void clearAssertionStatus()
57 loader.clearAssertionStatus();
61 public void setClassAssertionStatus(String className, boolean enabled)
63 loader.setClassAssertionStatus(className, enabled);
67 public void setPackageAssertionStatus(String packageName, boolean enabled)
69 loader.setPackageAssertionStatus(packageName, enabled);
73 public void setDefaultAssertionStatus(boolean enabled)
75 loader.setDefaultAssertionStatus(enabled);
79 public InputStream getResourceAsStream(String name)
81 return loader.getResourceAsStream(name);
85 public Enumeration<URL> getResources(String name) throws IOException
87 return loader.getResources(name);
91 public URL getResource(String name)
93 return loader.getResource(name);
97 public Class<?> loadClass(String name) throws ClassNotFoundException
99 return loader.loadClass(name);