2007-12-23 14:28:04 -05:00
|
|
|
|
|
|
|
package net.sourceforge.filebot.web;
|
|
|
|
|
|
|
|
|
2009-01-04 13:28:28 -05:00
|
|
|
import java.io.Serializable;
|
2009-07-23 10:25:43 -04:00
|
|
|
import java.util.Arrays;
|
2009-01-04 13:28:28 -05:00
|
|
|
|
|
|
|
|
|
|
|
public class Episode implements Serializable {
|
2007-12-23 14:28:04 -05:00
|
|
|
|
2009-10-28 11:09:47 -04:00
|
|
|
private String seriesName;
|
2011-10-01 00:08:46 -04:00
|
|
|
private Date seriesStartDate;
|
|
|
|
|
2010-10-24 08:10:30 -04:00
|
|
|
private Integer season;
|
|
|
|
private Integer episode;
|
2009-10-28 11:09:47 -04:00
|
|
|
private String title;
|
2010-10-23 08:47:43 -04:00
|
|
|
|
2010-11-09 03:04:12 -05:00
|
|
|
// absolute episode number
|
|
|
|
private Integer absolute;
|
|
|
|
|
2010-10-23 08:47:43 -04:00
|
|
|
// special number
|
2010-10-24 08:10:30 -04:00
|
|
|
private Integer special;
|
2009-10-28 11:09:47 -04:00
|
|
|
|
2010-10-23 08:47:43 -04:00
|
|
|
// episode airdate
|
|
|
|
private Date airdate;
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2009-10-28 11:09:47 -04:00
|
|
|
protected Episode() {
|
|
|
|
// used by serializer
|
|
|
|
}
|
2007-12-23 14:28:04 -05:00
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
|
|
|
public Episode(Episode obj) {
|
|
|
|
this(obj.seriesName, obj.seriesStartDate, obj.season, obj.episode, obj.title, obj.absolute, obj.special, obj.airdate);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-10-01 00:08:46 -04:00
|
|
|
public Episode(String seriesName, Date seriesStartDate, Integer season, Integer episode, String title) {
|
|
|
|
this(seriesName, seriesStartDate, season, episode, title, null, null, null);
|
2010-02-03 16:36:04 -05:00
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2011-10-01 00:08:46 -04:00
|
|
|
public Episode(String seriesName, Date seriesStartDate, Integer season, Integer episode, String title, Integer absolute, Integer special, Date airdate) {
|
2009-01-24 19:08:57 -05:00
|
|
|
this.seriesName = seriesName;
|
2011-10-01 00:08:46 -04:00
|
|
|
this.seriesStartDate = seriesStartDate;
|
2009-05-03 11:21:04 -04:00
|
|
|
this.season = season;
|
|
|
|
this.episode = episode;
|
2007-12-23 14:28:04 -05:00
|
|
|
this.title = title;
|
2010-11-09 03:04:12 -05:00
|
|
|
this.absolute = absolute;
|
2010-02-03 16:36:04 -05:00
|
|
|
this.special = special;
|
2010-10-23 08:47:43 -04:00
|
|
|
this.airdate = airdate;
|
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2010-10-23 08:47:43 -04:00
|
|
|
public String getSeriesName() {
|
|
|
|
return seriesName;
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2011-10-01 00:08:46 -04:00
|
|
|
public Date getSeriesStartDate() {
|
|
|
|
return seriesStartDate;
|
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2010-10-24 08:10:30 -04:00
|
|
|
public Integer getEpisode() {
|
2009-05-03 11:21:04 -04:00
|
|
|
return episode;
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2010-10-24 08:10:30 -04:00
|
|
|
public Integer getSeason() {
|
2009-07-23 10:25:43 -04:00
|
|
|
return season;
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2010-10-23 08:47:43 -04:00
|
|
|
public String getTitle() {
|
|
|
|
return title;
|
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2010-11-09 03:04:12 -05:00
|
|
|
public Integer getAbsolute() {
|
|
|
|
return absolute;
|
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2010-10-24 08:10:30 -04:00
|
|
|
public Integer getSpecial() {
|
2010-02-03 16:36:04 -05:00
|
|
|
return special;
|
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2010-10-23 08:47:43 -04:00
|
|
|
public Date airdate() {
|
|
|
|
return airdate;
|
2009-05-03 11:21:04 -04:00
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2009-07-23 10:25:43 -04:00
|
|
|
@Override
|
|
|
|
public boolean equals(Object obj) {
|
|
|
|
if (obj instanceof Episode) {
|
|
|
|
Episode other = (Episode) obj;
|
2010-02-03 16:36:04 -05:00
|
|
|
return equals(season, other.season) && equals(episode, other.episode) && equals(seriesName, other.seriesName) && equals(title, other.title) && equals(special, other.special);
|
2009-05-03 11:21:04 -04:00
|
|
|
}
|
2009-07-23 10:25:43 -04:00
|
|
|
|
|
|
|
return false;
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2009-07-23 10:25:43 -04:00
|
|
|
private boolean equals(Object o1, Object o2) {
|
|
|
|
if (o1 == null || o2 == null)
|
|
|
|
return o1 == o2;
|
|
|
|
|
|
|
|
return o1.equals(o2);
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2009-07-23 10:25:43 -04:00
|
|
|
@Override
|
|
|
|
public int hashCode() {
|
2010-02-03 16:36:04 -05:00
|
|
|
return Arrays.hashCode(new Object[] { seriesName, season, episode, title, special });
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|
|
|
|
|
2012-02-16 02:19:12 -05:00
|
|
|
|
2012-10-15 14:04:38 -04:00
|
|
|
@Override
|
|
|
|
public Episode clone() {
|
|
|
|
return new Episode(this);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2009-03-08 15:55:05 -04:00
|
|
|
@Override
|
|
|
|
public String toString() {
|
2011-09-09 10:50:01 -04:00
|
|
|
return EpisodeFormat.SeasonEpisode.format(this);
|
2009-01-04 13:28:28 -05:00
|
|
|
}
|
|
|
|
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|