## 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

`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

### 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.

  Parameters:
    `codesource` - the codesource
  Returns:
    the permissions granted to the codesource

Copyright © 2004 Apache Software Foundation. All Rights Reserved.