【发布时间】:2011-12-30 19:17:21
【问题描述】:
是否可以确定哪些方面与给定类挂钩并获得对其实例的访问权限?
类似:
Foo foo = new Foo();
List<Object> aspects = getAllAspectsOf(foo);
【问题讨论】:
-
我不确定您要达到的目标。一方面,成为 foo 的一个方面意味着什么?也许你的意思是当一个通知被执行时,'foo' 将被绑定到 'this()' 切入点。由于切入点可以动态绑定,因此任何此类 getAllAspectsOf(foo) 方法都将取决于哪个线程和 cflow 是什么。我认为您应该考虑使用 perthis 或 pertarget。然后对于给定的 Foo 实例,您可以调用 MyAspect.aspectOf(foo)。见eclipse.org/aspectj/doc/released/progguide/…