org.apache.batik.script.rhino
Class RhinoClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by org.apache.batik.script.rhino.RhinoClassLoader
All Implemented Interfaces:
org.mozilla.javascript.GeneratedClassLoader

public class RhinoClassLoader
extends java.net.URLClassLoader
implements org.mozilla.javascript.GeneratedClassLoader

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, defineClass
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, 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

Specified by:
defineClass in interface org.mozilla.javascript.GeneratedClassLoader

linkClass

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

Specified by:
linkClass in interface org.mozilla.javascript.GeneratedClassLoader

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.

Overrides:
getPermissions in class java.net.URLClassLoader


Copyright ? 2008 Apache Software Foundation. All Rights Reserved.