2015-02-10 73 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的未来功能。