org.java.plugin.extension
Class AllPluginsClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by org.java.plugin.extension.AllPluginsClassLoader

public class AllPluginsClassLoader
extends java.lang.ClassLoader

Helper class to collect all instances of PluginClassLoaders in use. We can use this loader to find classes and resources of activated plugins even without an explicit import statement.

This is mostly useful for scripting purposes and you have to keep in mind that plugins still have to be activated, otherwise their classloader is either not registered or it will throw a ClassNotFoundException.

Author:
Thasso Griebel

Method Summary
 java.net.URL[] getCurrentURLs()
          Checks for any connected URLClassLoader isntances and extracts the URLS
static AllPluginsClassLoader getInstance()
          Returns the current instance of the AllPluginsClassLoader.
 java.net.URL getResource(java.lang.String name)
           
 java.io.InputStream getResourceAsStream(java.lang.String name)
           
 java.util.Enumeration<java.net.URL> getResources(java.lang.String name)
           
 java.lang.Class<?> loadClass(java.lang.String name)
           
 void registerPluginLoader(PluginClassLoader loader)
          Register a ClassLoader that is used during class search
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getResource

public java.net.URL getResource(java.lang.String name)
Overrides:
getResource in class java.lang.ClassLoader

getResourceAsStream

public java.io.InputStream getResourceAsStream(java.lang.String name)
Overrides:
getResourceAsStream in class java.lang.ClassLoader

getResources

public java.util.Enumeration<java.net.URL> getResources(java.lang.String name)
                                                 throws java.io.IOException
Overrides:
getResources in class java.lang.ClassLoader
Throws:
java.io.IOException

loadClass

public java.lang.Class<?> loadClass(java.lang.String name)
                             throws java.lang.ClassNotFoundException
Overrides:
loadClass in class java.lang.ClassLoader
Throws:
java.lang.ClassNotFoundException

registerPluginLoader

public void registerPluginLoader(PluginClassLoader loader)
Register a ClassLoader that is used during class search

Parameters:
loader - the registered loader

getCurrentURLs

public java.net.URL[] getCurrentURLs()
Checks for any connected URLClassLoader isntances and extracts the URLS

Returns:
urls

getInstance

public static AllPluginsClassLoader getInstance()
Returns the current instance of the AllPluginsClassLoader. If the loader is not initialized, this creates a new AllPluginsClassLoader using ClassLoader.getSystemClassLoader() as parent.

Returns:
allpluginsclassloader instance


Copyright © 2010. All Rights Reserved.