1 package net.pterodactylus.rhynodge.filters.webpages.savoy;
3 import static java.lang.String.format;
5 import java.util.ArrayList;
6 import java.util.Comparator;
8 import java.util.function.Predicate;
9 import java.util.stream.Collectors;
12 * Information about a movie.
14 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
18 private final String name;
19 private final List<Performance> performances = new ArrayList<>();
21 public static final Predicate<Movie> withPerformances = movie -> !movie.getPerformances().isEmpty();
22 public static final Comparator<Movie> byName = (leftMovie, rightMovie) -> leftMovie.getName().compareToIgnoreCase(rightMovie.getName());
24 public Movie(String name) {
28 public String getName() {
32 public List<Performance> getPerformances() {
36 public void addPerformance(Performance performance) {
37 performances.add(performance);
41 public String toString() {
42 return format("%s (%s)", name, performances.stream().map(link -> String.format("%s: %s", link.getTime(), link.getLink())).collect(Collectors.joining(", ")));