/* * Copyright (c) 2004-2015 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.collection; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonRootName; import com.omertron.themoviedbapi.interfaces.Identification; import com.omertron.themoviedbapi.model.AbstractJsonMapping; import java.io.Serializable; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; /** * @author stuart.boston */ @JsonRootName("collection") public class Collection extends AbstractJsonMapping implements Serializable, Identification { private static final long serialVersionUID = 100L; @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; } @Override 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; } @Override 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 instanceof Collection) { final Collection other = (Collection) obj; return new EqualsBuilder() .append(id, other.id) .append(name, other.name) .append(title, other.title) .append(backdropPath, other.backdropPath) .isEquals(); } else { return false; } } @Override public int hashCode() { return new HashCodeBuilder() .append(id) .append(backdropPath) .append(title) .append(name) .append(posterPath) .append(releaseDate) .toHashCode(); } }