Есть ли способ использования наследования классов с событиями 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 с помощью обоих методов наблюдателя?
Я рекомендовал бы ваши КДИ Событие незыблемым и окончательным, чтобы избежать каких-либо сюрпризов. Я не уверен, что было бы хорошей идеей разрешить модификацию поведения чем угодно, наследование или иначе. –