/*
* 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 java.util.HashMap;
import java.util.Map;
import org.apache.log4j.Logger;
import org.codehaus.jackson.annotate.JsonAnySetter;
import org.codehaus.jackson.annotate.JsonProperty;
/**
* Company information
*
* @author Stuart
*/
public class Company implements IModelAttribute
{
// Logger
private static final Logger LOGGER = Logger.getLogger(Company.class);
private static final String DEFAULT_STRING = "";
private final String ATTR_ID = "id";
private final String ATTR_NAME = "name";
private final String ATTR_DESCRIPTION = "description";
private final String ATTR_HEADQUARTERS = "headquarters";
private final String ATTR_HOMEPAGE = "homepage";
private final String ATTR_LOGO_PATH = "logo_path";
private final String ATTR_PARENT_COMPANY = "parent_company";
// Properties
@JsonProperty(ATTR_ID)
private int companyId = 0;
@JsonProperty(ATTR_NAME)
private String name = DEFAULT_STRING;
@JsonProperty(ATTR_DESCRIPTION)
private String description = DEFAULT_STRING;
@JsonProperty(ATTR_HEADQUARTERS)
private String headquarters = DEFAULT_STRING;
@JsonProperty(ATTR_HOMEPAGE)
private String homepage = DEFAULT_STRING;
@JsonProperty(ATTR_LOGO_PATH)
private String logoPath = DEFAULT_STRING;
@JsonProperty(ATTR_PARENT_COMPANY)
private String parentCompany = DEFAULT_STRING;
//<editor-fold defaultstate="collapsed" desc="Getter Methods">
public int getCompanyId() {
return companyId;
}
public String getDescription() {
return description;
}
public String getHeadquarters() {
return headquarters;
}
public String getHomepage() {
return homepage;
}
public String getLogoPath() {
return logoPath;
}
public String getName() {
return name;
}
public String getParentCompany() {
return parentCompany;
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Setter Methods">
public void setCompanyId(int companyId) {
this.companyId = companyId;
}
public void setDescription(String description) {
this.description = description;
}
public void setHeadquarters(String headquarters) {
this.headquarters = headquarters;
}
public void setHomepage(String homepage) {
this.homepage = homepage;
}
public void setLogoPath(String logoPath) {
this.logoPath = logoPath;
}
public void setName(String name) {
this.name = name;
}
public void setParentCompany(String parentCompany) {
this.parentCompany = parentCompany;
}
//</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 String toString() {
return "Company{" + "companyId=" + companyId + ", name=" + name + ", description=" + description + ", headquarters=" + headquarters + ", homepage=" + homepage + ", logoPath=" + logoPath + ", parentCompany=" + parentCompany + '}';
}
@Override
public Map<String, Object> getValueMap()
{
Map<String, Object> map = new HashMap();
map.put(ATTR_ID, companyId);
map.put(ATTR_NAME, name);
map.put(ATTR_DESCRIPTION, description);
map.put(ATTR_HEADQUARTERS, headquarters);
map.put(ATTR_HOMEPAGE, homepage);
map.put(ATTR_LOGO_PATH, logoPath);
map.put(ATTR_PARENT_COMPANY, parentCompany);
return map;
}
}