1
有沒有一種使用CDI事件類繼承的方法?CDI事件繼承
可以說我有這樣的事情:
public class ParentEvent{}
public class ChildEvent extends ParentEvent{}
和這樣的事情:
public class Manager(){
@Inject
private Event<ParrentEvent> event;
public void foo(){
event.fire(new ParentEvent());
}
public void bar(){
event.fire(new ChildtEvent());
}
}
public class Observer{
public void observesParent(@Observes ParentEvent event){
//do something
}
public void observesChild(@Observes ChildEvent event){
//do something
}
}
在這種情況下,兩個ParentEvent和ChildEvent由observesParent()處理 - 由於事件的類型屬性在Manager類中。有兩種觀察者方法觀察ChildEvent的方法嗎?
我建議你CDI事件是不可變的,並最終以避免任何意外。我不確定允許通過任何事情,繼承或其他方式修改行爲是一個好主意。 –