/** * The MIT License (MIT) * Copyright (c) 2012 David Carver * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS * OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ package us.nineworlds.plex.rest.model.impl; import java.util.List; import org.simpleframework.xml.Attribute; import org.simpleframework.xml.ElementList; import org.simpleframework.xml.Root; /** * Represents the video container * * @author dcarver * */ @Root(name="Video") public class Video extends AbstractPlexObject { @Attribute(required=false) private String studio; @Attribute(required=false) private String summary; @Attribute(required=false) private String titleSort; @Attribute(required=false) private String title; @Attribute(required=false) private int viewCount; @Attribute(required=false) private String tagLine; @Attribute(required=false) /** * Point where viewing can be resumed. */ private long viewOffset; @Attribute(name="thumb",required=false) /** * REST path for obtaining thumbnail image */ private String thumbNailImageKey; @Attribute(name="art",required=false) private String backgroundImageKey; @Attribute(name="parentThumb", required=false) private String parentThumbNailImageKey; @Attribute(name="grandparentThumb", required=false) private String grandParentThumbNailImageKey; @Attribute(name="grandparentTitle", required=false) private String grandParentTitle; public String getGrandParentTitle() { return grandParentTitle; } public void setGrandParentTitle(String grandParentTitle) { this.grandParentTitle = grandParentTitle; } public String getGrandParentThumbNailImageKey() { return grandParentThumbNailImageKey; } public void setGrandParentThumbNailImageKey(String grandParentThumbNailImageKey) { this.grandParentThumbNailImageKey = grandParentThumbNailImageKey; } @Attribute(name="duration",required=false) private long duration; @Attribute(name="addedAt",required=false) private long timeAdded; @Attribute(name="updatedAt",required=false) private long timeUpdated; @Attribute(name="originallyAvailableAt",required=false) /** * Formatted date item was originally available in YYYY-MM-DD format. */ private String originallyAvailableDate; @Attribute(name="contentRating",required=false) private String contentRating; @Attribute(name="year", required=false) private String year; @Attribute(name="ratingKey", required=false) private String ratingKey; @Attribute(name="parentKey", required=false) private String parentKey; @Attribute(name="index", required=false) private String episode; @Attribute(name="parentIndex", required=false) private String season; /** * */ @Attribute(name="rating", required=false) private double rating; @ElementList(inline=true,required=false) private List<Country> countries; @ElementList(inline=true,required=false) private List<Director> directors; @ElementList(inline=true,required=false) private List<Role> actors; @ElementList(inline=true,required=false) private List<Writer> writers; @ElementList(inline=true,required=false) private List<Genre> genres; @ElementList(inline=true,name="Media",required=true) private List<Media> medias; public List<Role> getActors() { return actors; } /** * @return the backgroundImageKey */ public String getBackgroundImageKey() { return backgroundImageKey; } public String getContentRating() { return contentRating; } public List<Country> getCountries() { return countries; } public List<Director> getDirectors() { return directors; } /** * @return the duration */ public long getDuration() { return duration; } public List<Genre> getGenres() { return genres; } public List<Media> getMedias() { return medias; } /** * @return the originallyAvailableDate in YYYY-MM-DD format. */ public String getOriginallyAvailableDate() { return originallyAvailableDate; } /** * @return the summary */ public String getSummary() { return summary; } /** * @return the tagLine */ public String getTagLine() { return tagLine; } /** * @return the thumbNailImageKey */ public String getThumbNailImageKey() { return thumbNailImageKey; } /** * @return the timeAdded */ public long getTimeAdded() { return timeAdded; } /** * @return the timeUpdated */ public long getTimeUpdated() { return timeUpdated; } /** * @return the title */ public String getTitle() { return title; } /** * @return the titleSort */ public String getTitleSort() { return titleSort; } /** * @return the viewCount */ public int getViewCount() { return viewCount; } /** * @return the viewOffset */ public long getViewOffset() { return viewOffset; } public List<Writer> getWriters() { return writers; } public String getYear() { return year; } public void setActors(List<Role> actors) { this.actors = actors; } /** * @param backgroundImageKey the backgroundImageKey to set */ public void setBackgroundImageKey(String backgroundImageKey) { this.backgroundImageKey = backgroundImageKey; } public void setContentRating(String contentRating) { this.contentRating = contentRating; } public void setCountries(List<Country> countries) { this.countries = countries; } public void setDirectors(List<Director> directors) { this.directors = directors; } /** * @param duration the duration to set */ public void setDuration(long duration) { this.duration = duration; } public void setGenres(List<Genre> genres) { this.genres = genres; } public void setMedias(List<Media> medias) { this.medias = medias; } /** * This needs to be formatted in YYYY-MM-DD format. * @param originallyAvailableDate the originallyAvailableDate to set */ public void setOriginallyAvailableDate(String originallyAvailableDate) { this.originallyAvailableDate = originallyAvailableDate; } /** * @param summary the summary to set */ public void setSummary(String summary) { this.summary = summary; } /** * @param tagLine the tagLine to set */ public void setTagLine(String tagLine) { this.tagLine = tagLine; } /** * @param thumbNailImageKey the thumbNailImageKey to set */ public void setThumbNailImageKey(String thumbNailImageKey) { this.thumbNailImageKey = thumbNailImageKey; } /** * @param timeAdded the timeAdded to set */ public void setTimeAdded(long timeAdded) { this.timeAdded = timeAdded; } /** * @param timeUpdated the timeUpdated to set */ public void setTimeUpdated(long timeUpdated) { this.timeUpdated = timeUpdated; } /** * @param title the title to set */ public void setTitle(String title) { this.title = title; } /** * @param titleSort the titleSort to set */ public void setTitleSort(String titleSort) { this.titleSort = titleSort; } /** * @param viewCount the viewCount to set */ public void setViewCount(int viewCount) { this.viewCount = viewCount; } /** * @param viewOffset the viewOffset to set */ public void setViewOffset(long viewOffset) { this.viewOffset = viewOffset; } public void setWriters(List<Writer> writers) { this.writers = writers; } public void setYear(String year) { this.year = year; } public String getRatingKey() { return ratingKey; } public void setRatingKey(String ratingKey) { this.ratingKey = ratingKey; } public String getParentThumbNailImageKey() { return parentThumbNailImageKey; } public void setParentThumbNailImageKey(String parentThumbNailImageKey) { this.parentThumbNailImageKey = parentThumbNailImageKey; } public String getStudio() { return studio; } public void setStudio(String studio) { this.studio = studio; } public double getRating() { return rating; } public void setRating(double rating) { this.rating = rating; } public void setParentKey(String parentKey) { this.parentKey = parentKey; } public String getParentKey() { return parentKey; } public String getEpisode() { return episode; } public void setEpisode(String episode) { this.episode = episode; } public String getSeason() { return season; } public void setSeason(String season) { this.season = season; } }