У меня есть перечисление, скажем Fruits {Apple, Banana, Cherry}. Я хочу написать подсистему событий для своего приложения, чтобы у меня был следующий шаблон:
class AppleListener implements HasFruitPriceChangeListener<Apple> {
onFruitPriceChange(int newPrice) {
// do stuff
}
}
и один слушатель, который может делегировать задачи в следующем формате:
class FruitPriceListener {
public void onPriceChange(EnumMap<Fruits, Integer> pricePoints) {
// for each fruit, throw the event as
// FruitPriceChange.fire(Apple, newPrice);
}
}
Есть ли способ сделать это описанным выше способом? Я, вероятно, хотел бы использовать ValueChangeEvent, но создание еще одного события и обработчика тоже хорошо. Чего я не хочу делать, так это иметь определения событий / классов для каждого элемента, например, AppleFruitPriceChangeEvent и т. Д.