2015-02-10 76 views
0

可以通過從抽象類繼承來使用Byte Buddy在運行時增強類嗎?在運行時更改類的父類

@AggregateRoot 
public class Organization { 
} 

我應該能夠攔截Organization所有實例,並通過從一個抽象類繼承像下面增強它。

public abstract class BaseAggregateRoot { 
    public void notify() { 
    //Notify domain events 
    } 
} 

回答

0

那麼你想要做的是在運行時動態改變給定類的超類?目前,在Byte Buddy中這是不可能的。相反,當您使用Java 8時,您可以使用定義的默認方法添加接口。這是否是一種選擇?

您還可以做的是在運行時對BaseAggregateRoot類進行子類化,將類命名爲Organization並在其上添加註釋。

但是,我會將其視爲Byte Buddy的未來功能。