net.sf.retrotranslator.transformer
Class TransformingJarClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by net.sf.retrotranslator.transformer.JarClassLoader
                  extended by net.sf.retrotranslator.transformer.TransformingJarClassLoader

public class TransformingJarClassLoader
extends JarClassLoader

Author:
Taras Puchko

Field Summary
private  ClassTransformer transformer
           
 
Constructor Summary
TransformingJarClassLoader(java.io.File file, java.lang.ClassLoader parent, ClassTransformer transformer)
           
 
Method Summary
protected  java.lang.Class findClass(java.lang.String name)
           
private static java.util.jar.Manifest getManifest(java.net.URLConnection connection)
           
private static java.lang.String getPackageName(java.lang.String className)
           
private  void initPackage(java.lang.String className, java.net.URLConnection connection, java.net.URL resource)
           
 
Methods inherited from class net.sf.retrotranslator.transformer.JarClassLoader
getMainClass
 
Methods inherited from class java.net.URLClassLoader
addURL, definePackage, findResource, findResources, getPermissions, 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

transformer

private final ClassTransformer transformer
Constructor Detail

TransformingJarClassLoader

public TransformingJarClassLoader(java.io.File file,
                                  java.lang.ClassLoader parent,
                                  ClassTransformer transformer)
                           throws java.io.IOException
Throws:
java.io.IOException
Method Detail

findClass

protected java.lang.Class findClass(java.lang.String name)
                             throws java.lang.ClassNotFoundException
Overrides:
findClass in class java.net.URLClassLoader
Throws:
java.lang.ClassNotFoundException

initPackage

private void initPackage(java.lang.String className,
                         java.net.URLConnection connection,
                         java.net.URL resource)
                  throws java.io.IOException
Throws:
java.io.IOException

getPackageName

private static java.lang.String getPackageName(java.lang.String className)

getManifest

private static java.util.jar.Manifest getManifest(java.net.URLConnection connection)
                                           throws java.io.IOException
Throws:
java.io.IOException