Package org.java.plugin.standard
Class StandardPluginClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- org.java.plugin.PluginClassLoader
-
- org.java.plugin.standard.StandardPluginClassLoader
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class StandardPluginClassLoader extends PluginClassLoader
Standard implementation of plug-in class loader.- Version:
- $Id: StandardPluginClassLoader.java,v 1.8 2007/04/07 12:39:50 ddimon Exp $
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
StandardPluginClassLoader.ResourceFilter
-
Constructor Summary
Constructors Constructor Description StandardPluginClassLoader(PluginManager aManager, PluginDescriptor descr, java.lang.ClassLoader parent)
Creates class instance configured to load classes and resources for given plug-in.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.io.File
cacheLibrary(java.net.URL libUrl, java.lang.String libname)
protected void
checkClassVisibility(java.lang.Class<?> cls, StandardPluginClassLoader requestor)
protected void
collectFilters()
protected void
collectImports()
protected void
dispose()
Should release all resources acquired by this class loader instance.protected java.lang.String
findLibrary(java.lang.String name)
java.net.URL
findResource(java.lang.String name)
protected java.net.URL
findResource(java.lang.String name, StandardPluginClassLoader requestor, java.util.Set<java.lang.String> seenPlugins)
java.util.Enumeration<java.net.URL>
findResources(java.lang.String name)
protected void
findResources(java.util.List<java.net.URL> result, java.lang.String name, StandardPluginClassLoader requestor, java.util.Set<java.lang.String> seenPlugins)
protected boolean
isResourceVisible(java.lang.String name, java.net.URL url, StandardPluginClassLoader requestor)
protected java.lang.Class<?>
loadClass(java.lang.String name, boolean resolve)
protected void
pluginsSetChanged()
Registry data change notification.protected void
setForeignClassLoadingOptimization(boolean value)
protected void
setLocalClassLoadingOptimization(boolean value)
protected void
setProbeParentLoaderLast(boolean value)
protected void
setStickySynchronizing(boolean value)
-
Methods inherited from class org.java.plugin.PluginClassLoader
getPluginDescriptor, getPluginManager, toString
-
Methods inherited from class java.net.URLClassLoader
addURL, close, definePackage, findClass, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Constructor Detail
-
StandardPluginClassLoader
public StandardPluginClassLoader(PluginManager aManager, PluginDescriptor descr, java.lang.ClassLoader parent)
Creates class instance configured to load classes and resources for given plug-in.- Parameters:
aManager
- plug-in manager instancedescr
- plug-in descriptorparent
- parent class loader, usually this is JPF "host" application class loader
-
-
Method Detail
-
collectImports
protected void collectImports()
-
collectFilters
protected void collectFilters()
-
pluginsSetChanged
protected void pluginsSetChanged()
Description copied from class:PluginClassLoader
Registry data change notification.- Specified by:
pluginsSetChanged
in classPluginClassLoader
- See Also:
PluginClassLoader.pluginsSetChanged()
-
dispose
protected void dispose()
Description copied from class:PluginClassLoader
Should release all resources acquired by this class loader instance.- Specified by:
dispose
in classPluginClassLoader
- See Also:
PluginClassLoader.dispose()
-
setProbeParentLoaderLast
protected void setProbeParentLoaderLast(boolean value)
-
setStickySynchronizing
protected void setStickySynchronizing(boolean value)
-
setLocalClassLoadingOptimization
protected void setLocalClassLoadingOptimization(boolean value)
-
setForeignClassLoadingOptimization
protected void setForeignClassLoadingOptimization(boolean value)
-
loadClass
protected java.lang.Class<?> loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException
- Overrides:
loadClass
in classjava.lang.ClassLoader
- Throws:
java.lang.ClassNotFoundException
- See Also:
ClassLoader.loadClass(java.lang.String, boolean)
-
checkClassVisibility
protected void checkClassVisibility(java.lang.Class<?> cls, StandardPluginClassLoader requestor) throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
-
findLibrary
protected java.lang.String findLibrary(java.lang.String name)
- Overrides:
findLibrary
in classjava.lang.ClassLoader
- See Also:
ClassLoader.findLibrary(java.lang.String)
-
cacheLibrary
protected java.io.File cacheLibrary(java.net.URL libUrl, java.lang.String libname)
-
findResource
public java.net.URL findResource(java.lang.String name)
- Overrides:
findResource
in classjava.net.URLClassLoader
- See Also:
ClassLoader.findResource(java.lang.String)
-
findResources
public java.util.Enumeration<java.net.URL> findResources(java.lang.String name) throws java.io.IOException
- Overrides:
findResources
in classjava.net.URLClassLoader
- Throws:
java.io.IOException
- See Also:
ClassLoader.findResources(java.lang.String)
-
findResource
protected java.net.URL findResource(java.lang.String name, StandardPluginClassLoader requestor, java.util.Set<java.lang.String> seenPlugins)
-
findResources
protected void findResources(java.util.List<java.net.URL> result, java.lang.String name, StandardPluginClassLoader requestor, java.util.Set<java.lang.String> seenPlugins) throws java.io.IOException
- Throws:
java.io.IOException
-
isResourceVisible
protected boolean isResourceVisible(java.lang.String name, java.net.URL url, StandardPluginClassLoader requestor)
-
-