## org.apache.batik.script.rhino
Class RhinoClassLoader

    java.lang.Object
      java.lang.ClassLoader
          java.security.SecureClassLoader
              java.net.URLClassLoader
                  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`

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

  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.

Copyright © 2004 Apache Software Foundation. All Rights Reserved.