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 classStandardPluginClassLoader.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.FilecacheLibrary(java.net.URL libUrl, java.lang.String libname)protected voidcheckClassVisibility(java.lang.Class<?> cls, StandardPluginClassLoader requestor)protected voidcollectFilters()protected voidcollectImports()protected voiddispose()Should release all resources acquired by this class loader instance.protected java.lang.StringfindLibrary(java.lang.String name)java.net.URLfindResource(java.lang.String name)protected java.net.URLfindResource(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 voidfindResources(java.util.List<java.net.URL> result, java.lang.String name, StandardPluginClassLoader requestor, java.util.Set<java.lang.String> seenPlugins)protected booleanisResourceVisible(java.lang.String name, java.net.URL url, StandardPluginClassLoader requestor)protected java.lang.Class<?>loadClass(java.lang.String name, boolean resolve)protected voidpluginsSetChanged()Registry data change notification.protected voidsetForeignClassLoadingOptimization(boolean value)protected voidsetLocalClassLoadingOptimization(boolean value)protected voidsetProbeParentLoaderLast(boolean value)protected voidsetStickySynchronizing(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:PluginClassLoaderRegistry data change notification.- Specified by:
pluginsSetChangedin classPluginClassLoader- See Also:
PluginClassLoader.pluginsSetChanged()
-
dispose
protected void dispose()
Description copied from class:PluginClassLoaderShould release all resources acquired by this class loader instance.- Specified by:
disposein 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:
loadClassin 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:
findLibraryin 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:
findResourcein 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:
findResourcesin 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)
-
-