Package 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:
java.io.Closeable
,java.lang.AutoCloseable
,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
Fields Modifier and Type Field Description protected java.security.CodeSource
codeSource
CodeSource for classes defined by this loaderprotected 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
Constructors Constructor Description RhinoClassLoader(java.net.URL documentURL, java.lang.ClassLoader parent)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class
defineClass(java.lang.String name, byte[] data)
Define and load a Java classjava.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, close, definePackage, findClass, findResource, findResources, getResourceAsStream, getURLs, newInstance, newInstance
-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
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).
-
-
Method Detail
-
defineClass
public java.lang.Class defineClass(java.lang.String name, byte[] data)
Define and load a Java class- Specified by:
defineClass
in interfaceorg.mozilla.javascript.GeneratedClassLoader
-
linkClass
public void linkClass(java.lang.Class clazz)
Links the Java class.- Specified by:
linkClass
in interfaceorg.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 classjava.net.URLClassLoader
-
-