- All Implemented Interfaces:
- org.aspectj.bridge.IMessageContext
public class AspectJWeavingAdaptor
extends org.aspectj.weaver.tools.WeavingAdaptor
Cette classe étend WeavingAdaptor
pour avoir une instance personnalisée du champ WeavingAdaptor.weaver
.
Toutes la logique consiste ensuite à pouvoir appeler le code weaver.weave(wcp);
pour pouvoir déployer un
aspect à l'execution dans le weaver
qui servira ensuite à "aspectiser une classe" via la méthode
WeavingAdaptor.weaveClass(String, byte[])
.
Elle utilise pour l'instant de l'introspection agressive pour acceder aux attributs privés de la classe parentes et
les rendre visible.
TODO : au lieu d'ajouter à la demande des aspects, on pourrait les ajouters en parmanence, mais en les activant de
facon conditionnelle (if() cutpoint).
A tester. Il est possible que sans le cas d'isis, une classe non aspectisée soit plus performante qu'une classe
dont les aspects ne sont pas activés.
Voir la discussion : http://aspectj.2085585.n4.nabble.com/Runtime-weaving-without-agent-tp4650837p4650849.html
- Since:
- 4.2.0.0