1 /************************************************************************************** 2 * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved. * 3 * http://aspectwerkz.codehaus.org * 4 * ---------------------------------------------------------------------------------- * 5 * The software in this package is published under the terms of the LGPL license * 6 * a copy of which has been included with this distribution in the license.txt file. * 7 **************************************************************************************/ 8 package org.codehaus.aspectwerkz.transform; 9 10 /** 11 * Interface that all the weaving strategy implementations must implement. 12 * 13 * @author <a HREF="mailto:jboner@codehaus.org">Jonas BonŽr </a> 14 */ 15 public interface WeavingStrategy { 16 17 /** 18 * @param className 19 * @param context 20 */ 21 public abstract void transform(final String className, final Context context); 22 23 /** 24 * Creates a new transformation context. 25 * 26 * @param name 27 * @param bytecode 28 * @param loader 29 * @return 30 */ 31 public abstract Context newContext(final String name, final byte[] bytecode, final ClassLoader loader); 32 }