org.apache.batik.bridge
Class DocumentJarClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              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)
          Constructor
 
Method Summary
protected  PermissionCollection getPermissions(CodeSource codesource)
          Returns the permissions for the given codesource object.
 
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

documentCodeSource

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

See Also:
getPermissions(java.security.CodeSource)
Constructor Detail

DocumentJarClassLoader

public DocumentJarClassLoader(URL jarURL,
                              URL documentURL)
Constructor

Method Detail

getPermissions

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.

Overrides:
getPermissions in class URLClassLoader
Parameters:
codesource - the codesource
Returns:
the permissions granted to the codesource


Copyright © 2008 Apache Software Foundation. All Rights Reserved.