org.apache.batik.bridge
Class DocumentJarClassLoader

java.lang.Object
  |
  +--java.lang.ClassLoader
        |
        +--java.security.SecureClassLoader
              |
              +--java.net.URLClassLoader
                    |
                    +--org.apache.batik.bridge.DocumentJarClassLoader

public class DocumentJarClassLoader
extends java.net.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  java.security.CodeSource documentCodeSource
          CodeSource for the Document which referenced the Jar file
 
Constructor Summary
DocumentJarClassLoader(java.net.URL jarURL, java.net.URL documentURL)
          Constructor
 
Method Summary
protected  java.security.PermissionCollection getPermissions(java.security.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
 
Methods inherited from class java.lang.ClassLoader
defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

documentCodeSource

protected java.security.CodeSource documentCodeSource
CodeSource for the Document which referenced the Jar file
See Also:
getPermissions(java.security.CodeSource)
Constructor Detail

DocumentJarClassLoader

public DocumentJarClassLoader(java.net.URL jarURL,
                              java.net.URL documentURL)
Constructor
Method Detail

getPermissions

protected java.security.PermissionCollection getPermissions(java.security.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 java.net.URLClassLoader
Parameters:
codesource - the codesource
Returns:
the permissions granted to the codesource


Copyright © 2002 Apache Software Foundation. All Rights Reserved.