All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.moviejukebox.fanarttv.model.WrapperMovie Maven / Gradle / Ivy

The newest version!
/*
 *      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.fanarttv.model;

import java.util.EnumMap;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.codehaus.jackson.annotate.JsonAnySetter;
import org.codehaus.jackson.annotate.JsonProperty;

/**
 * JSON Wrapper class for Movie artwork from Fanart.TV Not intended for use
 * outside of the API
 *
  * @author stuart.boston
 */
public class WrapperMovie {

    private static final Logger LOGGER = Logger.getLogger(WrapperMovie.class);
    @JsonProperty("tmdb_id")
    private int tmdbId;
    @JsonProperty("imdb_id")
    private String imdbId;
    @JsonProperty("movieart")
    private List movieArt;
    @JsonProperty("moviedisc")
    private List movieDisc;
    @JsonProperty("movielogo")
    private List movieLogo;
    @JsonProperty("moviebackground")
    private List movieBackground;
    @JsonProperty("moviethumb")
    private List movieThumb;

    /**
     * Get the ID for IMDB
     *
     * @return
     */
    public String getImdbId() {
        return imdbId;
    }

    /**
     * Set the ID for IMDB
     *
     * @param imdbId
     */
    public void setImdbId(String imdbId) {
        this.imdbId = imdbId;
    }

    /**
     * Get the ID for TheMovieDB
     *
     * @return
     */
    public int getTmdbId() {
        return tmdbId;
    }

    /**
     * Set the ID for TheMovieDB
     *
     * @param tmdbId
     */
    public void setTmdbId(int tmdbId) {
        this.tmdbId = tmdbId;
    }

    /**
     * Set the MovieDisc artwork list
     *
     * @param movieDisc
     */
    public void setMovieDisc(List movieDisc) {
        this.movieDisc = movieDisc;
    }

    /**
     * Set the MovieLogo artwork list
     *
     * @param movieLogo
     */
    public void setMovieLogo(List movieLogo) {
        this.movieLogo = movieLogo;
    }

    /**
     * Set the MovieArt artwork list
     *
     * @param movieArt
     */
    public void setMovieArt(List movieArt) {
        this.movieArt = movieArt;
    }

    /**
     * Set the MovieBackground artwork list
     *
     * @param movieBackground
     */
    public void setMovieBackground(List movieBackground) {
        this.movieBackground = movieBackground;
    }

    /**
     * Set the MovieThumb artwork list
     *
     * @param movieThumb
     */
    public void setMovieThumb(List movieThumb) {
        this.movieThumb = movieThumb;
    }

    /**
     * Get a map of the artwork types keyed by the artwork type
     *
     * @return
     */
    public Map> getArtwork() {
        Map> artwork = new EnumMap>(FTArtworkType.class);

        artwork.put(FTArtworkType.MOVIEART, movieArt);
        artwork.put(FTArtworkType.MOVIEDISC, movieDisc);
        artwork.put(FTArtworkType.MOVIELOGO, movieLogo);
        artwork.put(FTArtworkType.MOVIEBACKGROUND, movieBackground);
        artwork.put(FTArtworkType.MOVIETHUMB, movieThumb);

        return artwork;
    }

    /**
     * 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());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy