JPF 1.5.1

org.java.plugin.standard
Class StandardPluginClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by org.java.plugin.PluginClassLoader
                  extended by org.java.plugin.standard.StandardPluginClassLoader

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
protected static class StandardPluginClassLoader.ResourceFilter
           
 
Constructor Summary
StandardPluginClassLoader(PluginManager aManager, PluginDescriptor descr, java.lang.ClassLoader parent)
          Creates class instance configured to load classes and resources for given plug-in.
 
Method Summary
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)
           
protected  void findResources(java.util.List<java.net.URL> result, 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  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, definePackage, findClass, getPermissions, getURLs, newInstance, newInstance
 
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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 instance
descr - plug-in descriptor
parent - 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 class PluginClassLoader
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 class PluginClassLoader
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 class java.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 class java.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 class java.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 class java.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)

JPF 1.5.1

Copyright © 2004-2007 Dmitry Olshansky. All Rights Reserved.