2017-03-04 63 views
0

我有一個抽象類FooAspectJ - 如何爲子類捕獲構造函數調用?

我想,如果我創建一個擴展名爲富的Bar外看點的具體類的新實例有一個編譯錯誤。

我嘗試這樣做:

public pointcut errorcall(): call(Foo.new(..)) && !within(Bar); 
declare error: errorcall():"Error: You must use Bar creation methods!"; 

不過,這並不趕上Foo的子類。

如果我宣佈了切入點爲:

public pointcut errorcall(): call(ConcreteFoo.new(..)) && !within(Bar); 

它惹人酒吧外的ConcreteFoo創作,但我想攔截美孚的每個子類。

我該怎麼辦?

回答

0

MyClass+表示法也抓住了子類。這些信息可以在任何AspectJ教程中找到,例如here

public pointcut errorcall(): 
    call(Foo+.new(..)) && !within(Bar); 
相關問題