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 import org.codehaus.aspectwerkz.transform.delegation.Klass; 11 12 /*** 13 * Component for class transformation At load time / post compilation time: transform At runtime to activate prepared 14 * declarations: activate 15 * 16 * @author <a href="mailto:alex@gnilux.com">Alexandre Vasseur </a> 17 */ 18 public interface Transformer { 19 20 public final static int STATUS_SKIP = 1; 21 22 public final static int STATUS_HAS_NO_POINTCUT = 2; 23 24 public final static int STATUS_HAS_POINTCUT = 3; 25 26 /*** 27 * Transforms bytecode at load time 28 * 29 * @param context 30 * @param klass 31 * @throws Exception 32 */ 33 public abstract void transform(final Context context, final Klass klass) throws Exception; 34 }