org.codehaus.aspectwerkz.transform.delegation
Class MethodExecutionTransformer

java.lang.Object
  extended byorg.codehaus.aspectwerkz.transform.delegation.MethodExecutionTransformer
All Implemented Interfaces:
Transformer

public class MethodExecutionTransformer
extends Object
implements Transformer

Advises method EXECUTION join points.

Author:
Jonas Bonér , Alexandre Vasseur

Field Summary
 
Fields inherited from interface org.codehaus.aspectwerkz.transform.Transformer
STATUS_HAS_NO_POINTCUT, STATUS_HAS_POINTCUT, STATUS_SKIP
 
Constructor Summary
MethodExecutionTransformer()
           
 
Method Summary
static boolean classFilter(SystemDefinition definition, ExpressionContext ctx, javassist.CtClass cg)
          Filters the classes to be transformed.
static int methodFilter(List definitions, ExpressionContext ctx, javassist.CtMethod method)
          Filters the methods to be transformed.
 void transform(Context context, Klass klass)
          Makes the member method transformations.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MethodExecutionTransformer

public MethodExecutionTransformer()
Method Detail

transform

public void transform(Context context,
                      Klass klass)
               throws Exception
Makes the member method transformations.

Specified by:
transform in interface Transformer
Parameters:
context - the transformation context
klass - the class set.
Throws:
Exception

classFilter

public static boolean classFilter(SystemDefinition definition,
                                  ExpressionContext ctx,
                                  javassist.CtClass cg)
Filters the classes to be transformed.

TODO: when a class had execution pointcut that were removed it must be unweaved, thus not filtered out How to handle that ? cache lookup ? or custom class level attribute ?

Parameters:
definition - the definition
ctx - the context
cg - the class to filter
Returns:
boolean true if the method should be filtered away

methodFilter

public static int methodFilter(List definitions,
                               ExpressionContext ctx,
                               javassist.CtMethod method)
Filters the methods to be transformed.

Parameters:
definitions -
ctx -
method -
Returns:


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