1 /* 2 * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved. 3 */ 4 package com.tc.aspectwerkz.hook; 5 6 /** 7 * Implement to be a class PreProcessor in the AspectWerkz univeral loading architecture. <p/>A single instance of the 8 * class implementing this interface is build during the java.lang.ClassLoader initialization or just before the first 9 * 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, ClassLoader caller); 20 }