Class DocumentJarClassLoader

  extended by java.lang.ClassLoader
      extended by
          extended by
              extended by org.apache.batik.bridge.DocumentJarClassLoader

public class DocumentJarClassLoader
extends URLClassLoader

This ClassLoader implementation only grants permission to connect back to the server from where the document referencing the jar file was loaded. A URLClassLoader extension is needed in case the user allows linked jar files to come from a different origin than the document referencing them.

Field Summary
protected  CodeSource documentCodeSource
          CodeSource for the Document which referenced the Jar file
Constructor Summary
DocumentJarClassLoader(URL jarURL, URL documentURL)
Method Summary
protected  PermissionCollection getPermissions(CodeSource codesource)
          Returns the permissions for the given codesource object.
Methods inherited from class
addURL, definePackage, findClass, findResource, findResources, getURLs, newInstance, newInstance
Methods inherited from class
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


protected CodeSource documentCodeSource
CodeSource for the Document which referenced the Jar file

See Also:
Constructor Detail


public DocumentJarClassLoader(URL jarURL,
                              URL documentURL)

Method Detail


protected PermissionCollection getPermissions(CodeSource codesource)
Returns the permissions for the given codesource object. The implementation of this method first gets the permissions granted by the policy, and then adds additional permissions based on the URL of the codesource.

Then, if the documentURL passed at construction time is not null, the permissions granted to that URL are added. As a result, the jar file code will only be able to connect to the server which served the document.

getPermissions in class URLClassLoader
codesource - the codesource
the permissions granted to the codesource

Copyright © 2008 Apache Software Foundation. All Rights Reserved.