e3b8844be7011df6a9e6f643f9285592d9229f9f
[rhynodge.git] / src / main / java / net / pterodactylus / rhynodge / filters / webpages / savoy / Movie.java
1 package net.pterodactylus.rhynodge.filters.webpages.savoy;
2
3 import static java.lang.String.format;
4
5 import java.util.ArrayList;
6 import java.util.Comparator;
7 import java.util.List;
8 import java.util.function.Predicate;
9
10 /**
11  * Information about a movie.
12  *
13  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
14  */
15 public class Movie {
16
17         private final String name;
18         private final List<TicketLink> ticketLinks = new ArrayList<>();
19
20         public static final Predicate<Movie> withPresentations = movie -> !movie.getTicketLinks().isEmpty();
21         public static final Comparator<Movie> byName = (leftMovie, rightMovie) -> leftMovie.getName().compareToIgnoreCase(rightMovie.getName());
22
23         public Movie(String name) {
24                 this.name = name;
25         }
26
27         public String getName() {
28                 return name;
29         }
30
31         public List<TicketLink> getTicketLinks() {
32                 return ticketLinks;
33         }
34
35         public void addTicketLink(TicketLink ticketLink) {
36                 ticketLinks.add(ticketLink);
37         }
38
39         @Override
40         public String toString() {
41                 return format("%s (%d)", name, ticketLinks.size());
42         }
43
44 }