/* * Copyright (c) 2004-2012 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.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; import org.apache.log4j.Logger; /** * * @author Stuart */ public class Translation implements Serializable { private static final long serialVersionUID = 1L; /* * Logger */ private static final Logger logger = Logger.getLogger(Translation.class); /* * Properties */ @JsonProperty("english_name") private String englishName; @JsonProperty("iso_639_1") private String isoCode; @JsonProperty("name") private String name; // public String getEnglishName() { return englishName; } public String getIsoCode() { return isoCode; } public String getName() { return name; } // // public void setEnglishName(String englishName) { this.englishName = englishName; } public void setIsoCode(String isoCode) { this.isoCode = isoCode; } public void setName(String name) { this.name = name; } // /** * Handle unknown properties and print a message * * @param key * @param value */ @JsonAnySetter public void handleUnknown(String key, Object value) { StringBuilder sb = new StringBuilder(); sb.append("Unknown property: '").append(key); sb.append("' value: '").append(value).append("'"); logger.trace(sb.toString()); } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Translation other = (Translation) obj; if ((this.englishName == null) ? (other.englishName != null) : !this.englishName.equals(other.englishName)) { return false; } if ((this.isoCode == null) ? (other.isoCode != null) : !this.isoCode.equals(other.isoCode)) { return false; } if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) { return false; } return true; } @Override public int hashCode() { int hash = 3; hash = 29 * hash + (this.englishName != null ? this.englishName.hashCode() : 0); hash = 29 * hash + (this.isoCode != null ? this.isoCode.hashCode() : 0); hash = 29 * hash + (this.name != null ? this.name.hashCode() : 0); return hash; } @Override public String toString() { StringBuilder sb = new StringBuilder("[Translation="); sb.append("[englishName=").append(englishName); sb.append("],[isoCode=").append(isoCode); sb.append("],[name=").append(name); sb.append("]]"); return sb.toString(); } }