/* * Copyright (c) 2004-2012 YAMJ Members * http://code.google.com/p/moviejukebox/people/list * * Web: http://code.google.com/p/moviejukebox/ * * This software is licensed under a Creative Commons License * See this page: http://code.google.com/p/moviejukebox/wiki/License * * For any reuse or distribution, you must make clear to others the * license terms of this work. */ package com.moviejukebox.themoviedb.model; import org.apache.log4j.Logger; import org.codehaus.jackson.annotate.JsonAnySetter; import org.codehaus.jackson.annotate.JsonProperty; /** * * @author Stuart */ public class PersonCrew { /* * Logger */ private static final Logger LOGGER = Logger.getLogger(PersonCrew.class); /* * Properties */ @JsonProperty("id") private int id; @JsonProperty("department") private String department; @JsonProperty("job") private String job; @JsonProperty("name") private String name; @JsonProperty("profile_path") private String profilePath; //<editor-fold defaultstate="collapsed" desc="Getter methods"> public String getDepartment() { return department; } public int getId() { return id; } public String getJob() { return job; } public String getName() { return name; } public String getProfilePath() { return profilePath; } //</editor-fold> //<editor-fold defaultstate="collapsed" desc="Setter methods"> public void setDepartment(String department) { this.department = department; } public void setId(int id) { this.id = id; } public void setJob(String job) { this.job = job; } public void setName(String name) { this.name = name; } public void setProfilePath(String profilePath) { this.profilePath = profilePath; } //</editor-fold> /** * 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.warn(sb.toString()); } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final PersonCrew other = (PersonCrew) obj; if (this.id != other.id) { return false; } if ((this.department == null) ? (other.department != null) : !this.department.equals(other.department)) { return false; } if ((this.job == null) ? (other.job != null) : !this.job.equals(other.job)) { 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 = 59 * hash + this.id; hash = 59 * hash + (this.department != null ? this.department.hashCode() : 0); hash = 59 * hash + (this.job != null ? this.job.hashCode() : 0); hash = 59 * hash + (this.name != null ? this.name.hashCode() : 0); hash = 59 * hash + (this.profilePath != null ? this.profilePath.hashCode() : 0); return hash; } @Override public String toString() { StringBuilder sb = new StringBuilder("[PersonCrew="); sb.append("id=").append(id); sb.append("],[department=").append(department); sb.append("],[job=").append(job); sb.append("],[name=").append(name); sb.append("],[profilePath=").append(profilePath); sb.append("]]"); return sb.toString(); } }