aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/fr/umlv/java/wallj/event/Event.java
blob: 5b8b50074aee9f42b7eeb675d35d145a736b0b61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package fr.umlv.java.wallj.event;

import java.util.List;
import java.util.Optional;

/**
 * An application event
 *
 * @author Pacien TRAN-GIRARD
 */
public interface Event {
  static <T extends Event> Optional<T> findFirst(List<Event> eventList, Class<T> eventClass) {
    return eventList.stream()
           .filter(e -> e.getClass().isInstance(eventClass))
           .findFirst()
           .map(eventClass::cast);
  }
}