01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tc.aspectwerkz.hook;
05:
06: /**
07: * Implement to be a class PreProcessor in the AspectWerkz univeral loading architecture. <p/>A single instance of the
08: * class implementing this interface is build during the java.lang.ClassLoader initialization or just before the first
09: * class loads, bootclasspath excepted. Thus there is a single instance the of ClassPreProcessor per JVM. <br/>Use the
10: * <code>-Daspectwerkz.classloader.preprocessor</code> option to specify which class preprocessor to use.
11: *
12: * @author <a href="mailto:alex@gnilux.com">Alexandre Vasseur </a>
13: * @see com.tc.aspectwerkz.hook.ProcessStarter
14: */
15: public interface ClassPreProcessor {
16:
17: public abstract void initialize();
18:
19: public abstract byte[] preProcess(String klass, byte[] abyte,
20: ClassLoader caller);
21: }
|