Я хочу перебрать коллекцию, действующую для каждого элемента.
Collection<Listener> listeners = ....
interface Listener {
void onEventReceived();
void onShutDown();
}
Код может быть:
void notifyShutdown() {
for(Listener listener:listeners){
listener.onShutDown();
}
}
Я хочу воспользоваться лямбдами java8, поэтому я объявил вспомогательный интерфейс:
interface WrapHelper<T> {
void performAction(T item);
}
и способ уведомления
public void notifyListeners(WrapHelper<Listener> listenerAction) {
for (Listener listener : listeners) {
listenerAction.performAction(listener);
}
}
Так что я могу объявить методы, такие как:
public void notifyEventReceived() {
notifyListeners(listener -> listener.onEventReceived());
}
public void notifyShutDown() {
notifyListeners(listener -> listener.onShutDown());
}
У меня вопрос: нужно ли объявлять интерфейс WrapHelper
Сам я уже существует для этой цели класс в API Android <24. </p>
Спасибо