org.apache.batik.script.rhino
Class RhinoClassLoader

java.lang.Object
  extended byjava.lang.ClassLoader
      extended byjava.security.SecureClassLoader
          extended byjava.net.URLClassLoader
              extended byorg.apache.batik.script.rhino.RhinoClassLoader

public class RhinoClassLoader
extends java.net.URLClassLoader

This class loader implementation will work whether or not the documentURL is null.


Field Summary
protected  java.security.CodeSource codeSource
          CodeSource for classes defined by this loader
protected  java.net.URL documentURL
          URL for the document referencing the script.
protected  java.security.AccessControlContext rhinoAccessControlContext
          The AccessControlContext which can be associated with code loaded by this class loader if it was running stand-alone (i.e., not invoked by code with lesser priviledges).
 
Constructor Summary
RhinoClassLoader(java.net.URL documentURL, java.lang.ClassLoader parent)
          Constructor.
 
Method Summary
 java.lang.Class defineClass(java.lang.String name, byte[] data)
          Define and load a Java class
 java.security.AccessControlContext getAccessControlContext()
          Returns the AccessControlContext which should be associated with RhinoCode.
protected  java.security.PermissionCollection getPermissions(java.security.CodeSource codesource)
          Returns the permissions for the given CodeSource object.
 void linkClass(java.lang.Class clazz)
          Links the Java class.
 
Methods inherited from class java.net.URLClassLoader
addURL, definePackage, findClass, findResource, findResources, getURLs, newInstance, newInstance
 
Methods inherited from class java.security.SecureClassLoader
defineClass
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

documentURL

protected java.net.URL documentURL
URL for the document referencing the script.


codeSource

protected java.security.CodeSource codeSource
CodeSource for classes defined by this loader


rhinoAccessControlContext

protected java.security.AccessControlContext rhinoAccessControlContext
The AccessControlContext which can be associated with code loaded by this class loader if it was running stand-alone (i.e., not invoked by code with lesser priviledges).

Constructor Detail

RhinoClassLoader

public RhinoClassLoader(java.net.URL documentURL,
                        java.lang.ClassLoader parent)
Constructor.

Parameters:
documentURL - the URL from which to load classes and resources
parent - the parent class loader for delegation
Method Detail

defineClass

public java.lang.Class defineClass(java.lang.String name,
                                   byte[] data)
Define and load a Java class


linkClass

public void linkClass(java.lang.Class clazz)
Links the Java class.


getAccessControlContext

public java.security.AccessControlContext getAccessControlContext()
Returns the AccessControlContext which should be associated with RhinoCode.


getPermissions

protected java.security.PermissionCollection getPermissions(java.security.CodeSource codesource)
Returns the permissions for the given CodeSource object. Compared to URLClassLoader, this adds a FilePermission so that files under the same root directory as the document can be read.



Copyright ? 2005 Apache Software Foundation. All Rights Reserved.