X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Ffilters%2Fwebpages%2Fsavoy%2FMovie.java;h=0844b7c802081b07f69a42be934c286b4a0d482d;hb=65ea9a5bde3922ab14edda0deb8f8350e89f37c6;hp=42480f96bf1eb1933d1fbf23a9aaa5862d7c18fa;hpb=d176fca28f0db80c67c7eb2cbb60638d213b9917;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/webpages/savoy/Movie.java b/src/main/java/net/pterodactylus/rhynodge/filters/webpages/savoy/Movie.java index 42480f9..0844b7c 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/webpages/savoy/Movie.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/webpages/savoy/Movie.java @@ -1,13 +1,14 @@ package net.pterodactylus.rhynodge.filters.webpages.savoy; -import static java.lang.String.format; +import com.fasterxml.jackson.annotation.JsonProperty; import java.util.ArrayList; -import java.util.Comparator; import java.util.List; -import java.util.function.Predicate; +import java.util.Objects; import java.util.stream.Collectors; +import static java.lang.String.format; + /** * Information about a movie. * @@ -15,11 +16,15 @@ import java.util.stream.Collectors; */ public class Movie { + @JsonProperty private final String name; + + @JsonProperty private final List performances = new ArrayList<>(); - public static final Predicate withPerformances = movie -> !movie.getPerformances().isEmpty(); - public static final Comparator byName = (leftMovie, rightMovie) -> leftMovie.getName().compareToIgnoreCase(rightMovie.getName()); + public Movie() { + this(""); + } public Movie(String name) { this.name = name; @@ -42,4 +47,17 @@ public class Movie { return format("%s (%s)", name, performances.stream().map(link -> String.format("%s: %s", link.getTime(), link.getLink())).collect(Collectors.joining(", "))); } + @Override + public int hashCode() { + return Objects.hash(name, performances); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Movie movie = (Movie) o; + return Objects.equals(name, movie.name) && Objects.equals(performances, movie.performances); + } + }