/* * Copyright (c) 2004-2013 Stuart Boston * * This file is part of TheMovieDB API. * * TheMovieDB API is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * TheMovieDB API is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with TheMovieDB API. If not, see . * */ package com.omertron.themoviedbapi.model; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonRootName; import org.apache.commons.lang3.StringUtils; /** * @author stuart.boston */ @JsonRootName("collection") public class Collection extends AbstractJsonMapping { private static final long serialVersionUID = 1L; /* * Properties */ @JsonProperty("id") private int id; @JsonProperty("title") private String title; @JsonProperty("name") private String name; @JsonProperty("poster_path") private String posterPath; @JsonProperty("backdrop_path") private String backdropPath; @JsonProperty("release_date") private String releaseDate; // public String getBackdropPath() { return backdropPath; } public int getId() { return id; } public String getPosterPath() { return posterPath; } public String getReleaseDate() { return releaseDate; } public String getTitle() { if (StringUtils.isBlank(title)) { return name; } return title; } public String getName() { if (StringUtils.isBlank(name)) { return title; } return name; } public void setBackdropPath(String backdropPath) { this.backdropPath = backdropPath; } public void setId(int id) { this.id = id; } public void setPosterPath(String posterPath) { this.posterPath = posterPath; } public void setReleaseDate(String releaseDate) { this.releaseDate = releaseDate; } public void setTitle(String title) { this.title = title; } public void setName(String name) { this.name = name; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Collection other = (Collection) obj; if ((this.backdropPath == null) ? (other.backdropPath != null) : !this.backdropPath.equals(other.backdropPath)) { return false; } if (this.id != other.id) { return false; } if ((this.title == null) ? (other.title != null) : !this.title.equals(other.title)) { return false; } if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) { return false; } return true; } @Override public int hashCode() { int hash = 7; hash = 19 * hash + (this.backdropPath != null ? this.backdropPath.hashCode() : 0); hash = 19 * hash + this.id; hash = 19 * hash + (this.title != null ? this.title.hashCode() : 0); hash = 19 * hash + (this.name != null ? this.name.hashCode() : 0); hash = 19 * hash + (this.posterPath != null ? this.posterPath.hashCode() : 0); hash = 19 * hash + (this.releaseDate != null ? this.releaseDate.hashCode() : 0); return hash; } }