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;
|
|
|
|
private String season;
|
|
|
|
private String episode;
|
|
|
|
private String title;
|
2010-10-23 08:47:43 -04:00
|
|
|
|
|
|
|
// special number
|
2010-02-03 16:36:04 -05:00
|
|
|
private String special;
|
2009-10-28 11:09:47 -04:00
|
|
|
|
2010-10-23 08:47:43 -04:00
|
|
|
// episode airdate
|
|
|
|
private Date airdate;
|
|
|
|
|
2009-10-28 11:09:47 -04:00
|
|
|
|
|
|
|
protected Episode() {
|
|
|
|
// used by serializer
|
|
|
|
}
|
2007-12-23 14:28:04 -05:00
|
|
|
|
2009-06-02 06:27:28 -04:00
|
|
|
|
2009-05-03 11:21:04 -04:00
|
|
|
public Episode(String seriesName, String season, String episode, String title) {
|
2010-10-23 08:47:43 -04:00
|
|
|
this(seriesName, season, episode, title, null, null);
|
2010-02-03 16:36:04 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2010-10-23 08:47:43 -04:00
|
|
|
public Episode(String seriesName, String season, String episode, String title, String special, Date airdate) {
|
2009-01-24 19:08:57 -05:00
|
|
|
this.seriesName = seriesName;
|
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-02-03 16:36:04 -05:00
|
|
|
this.special = special;
|
2010-10-23 08:47:43 -04:00
|
|
|
this.airdate = airdate;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public String getSeriesName() {
|
|
|
|
return seriesName;
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2009-05-03 11:21:04 -04:00
|
|
|
public String getEpisode() {
|
|
|
|
return episode;
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2009-10-16 18:00:18 -04:00
|
|
|
public Integer getEpisodeNumber() {
|
|
|
|
try {
|
|
|
|
return new Integer(episode);
|
|
|
|
} catch (NumberFormatException e) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2009-07-23 10:25:43 -04:00
|
|
|
public String getSeason() {
|
|
|
|
return season;
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2009-10-16 18:00:18 -04:00
|
|
|
public Integer getSeasonNumber() {
|
|
|
|
try {
|
|
|
|
return new Integer(season);
|
|
|
|
} catch (NumberFormatException e) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2010-10-23 08:47:43 -04:00
|
|
|
public String getTitle() {
|
|
|
|
return title;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2010-02-03 16:36:04 -05:00
|
|
|
public String getSpecial() {
|
|
|
|
return special;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public Integer getSpecialNumber() {
|
|
|
|
try {
|
|
|
|
return new Integer(special);
|
|
|
|
} catch (NumberFormatException e) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2010-10-23 08:47:43 -04:00
|
|
|
public Date airdate() {
|
|
|
|
return airdate;
|
2009-05-03 11:21:04 -04: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
|
|
|
}
|
|
|
|
|
|
|
|
|
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
|
|
|
}
|
|
|
|
|
|
|
|
|
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
|
|
|
}
|
|
|
|
|
|
|
|
|
2009-03-08 15:55:05 -04:00
|
|
|
@Override
|
|
|
|
public String toString() {
|
|
|
|
return EpisodeFormat.getInstance().format(this);
|
2009-01-04 13:28:28 -05:00
|
|
|
}
|
|
|
|
|
2007-12-23 14:28:04 -05:00
|
|
|
}
|