org.codehaus.aspectwerkz.hook.impl
Class ClassLoaderPreProcessorImpl

java.lang.Object
  extended by org.codehaus.aspectwerkz.hook.impl.ClassLoaderPreProcessorImpl
All Implemented Interfaces:
ClassLoaderPreProcessor

public class ClassLoaderPreProcessorImpl
extends Object
implements ClassLoaderPreProcessor

Instruments the java.lang.ClassLoader to plug in the Class PreProcessor mechanism using ASM.

We are using a lazy initialization of the class preprocessor to allow all class pre processor logic to be in system classpath and not in bootclasspath.

This implementation should support IBM custom JRE

Author:
Chris Nokleberg, Alexandre Vasseur

Constructor Summary
ClassLoaderPreProcessorImpl()
           
 
Method Summary
static void main(String[] args)
           
 byte[] preProcess(byte[] classLoaderBytecode)
          Patch caller side of defineClass0 byte[] weaved = ..hook.impl.ClassPreProcessorHelper.defineClass0Pre(this, args..); klass = defineClass0(name, weaved, 0, weaved.length, protectionDomain);
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassLoaderPreProcessorImpl

public ClassLoaderPreProcessorImpl()
Method Detail

preProcess

public byte[] preProcess(byte[] classLoaderBytecode)
Patch caller side of defineClass0 byte[] weaved = ..hook.impl.ClassPreProcessorHelper.defineClass0Pre(this, args..); klass = defineClass0(name, weaved, 0, weaved.length, protectionDomain);

Specified by:
preProcess in interface ClassLoaderPreProcessor
Parameters:
classLoaderBytecode -
Returns:

main

public static void main(String[] args)
                 throws Exception
Throws:
Exception


Copyright © 2002-2005 Jonas Bonér, Alexandre Vasseur. All Rights Reserved.