Add function to extract the season number of an episode.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Tue, 19 Feb 2013 19:15:40 +0000 (20:15 +0100)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Tue, 19 Feb 2013 19:15:40 +0000 (20:15 +0100)
This can be used to create a multimap by season from an iterable.

src/main/java/net/pterodactylus/rhynodge/states/EpisodeState.java

index c604634..7ed3dce 100644 (file)
@@ -29,6 +29,7 @@ import net.pterodactylus.rhynodge.states.EpisodeState.Episode;
 import net.pterodactylus.rhynodge.states.TorrentState.TorrentFile;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.base.Function;
 
 /**
  * {@link State} implementation that stores episodes of TV shows, parsed via
@@ -100,6 +101,15 @@ public class EpisodeState extends AbstractState implements Iterable<Episode> {
         */
        public static class Episode implements Comparable<Episode>, Iterable<TorrentFile> {
 
+               /** Function to extract the season of an episode. */
+               public static final Function<Episode, Integer> BY_SEASON = new Function<Episode, Integer>() {
+
+                       @Override
+                       public Integer apply(Episode episode) {
+                               return episode.season();
+                       }
+               };
+
                /** The season of the episode. */
                @JsonProperty
                private final int season;