/******************************************************************************
 * MediaContainer.java - Primary domain object from plex
 * $Id: MediaContainer.java,v 1.3 2014/10/12 07:21:28 dick Exp $
 * 
 * BuckoVidLib - The BuckoSoft Video Library
 * Copyright(c) 2014 - Dick Balaska
 * 
 * $Log: MediaContainer.java,v $
 * Revision 1.3  2014/10/12 07:21:28  dick
 * Add the size Attribute.
 *
 * Revision 1.2  2014/10/08 04:42:06  dick
 * Add the Collection of Videos that may come in a MediaContainer.
 *
 * Revision 1.1  2014/10/04 16:17:53  dick
 * plex domain objects.
 *
 */
package tv.plex.domain;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="MediaContainer")
public class MediaContainer implements Serializable {

	private static final long serialVersionUID = 1L;
	private int		size;
	private String	allowSync;
	private String	art;
	private String	content;
	private String	identifier;
	private String	mediaTagPrefix;
	private String	mediaTagVersion;
	private String	title1;
	private String	title2;
	
	Collection<Directory>	directories = new ArrayList<Directory>();
	Collection<Video>		videos = new ArrayList<Video>();

	/**
	 * @return the size
	 */
	@XmlAttribute
	public int getSize() {
		return size;
	}
	/**
	 * @param size the size to set
	 */
	public void setSize(int size) {
		this.size = size;
	}
	/**
	 * @return the allowSync
	 */
	@XmlAttribute
	public String getAllowSync() {
		return allowSync;
	}
	/**
	 * @param allowSync the allowSync to set
	 */
	public void setAllowSync(String allowSync) {
		this.allowSync = allowSync;
	}
	/**
	 * @return the art
	 */
	@XmlAttribute
	public String getArt() {
		return art;
	}
	/**
	 * @param art the art to set
	 */
	public void setArt(String art) {
		this.art = art;
	}
	/**
	 * @return the content
	 */
	@XmlAttribute
	public String getContent() {
		return content;
	}
	/**
	 * @param content the content to set
	 */
	public void setContent(String content) {
		this.content = content;
	}
	/**
	 * @return the identifier
	 */
	@XmlAttribute
	public String getIdentifier() {
		return identifier;
	}
	/**
	 * @param identifier the identifier to set
	 */
	public void setIdentifier(String identifier) {
		this.identifier = identifier;
	}
	/**
	 * @return the mediaTagPrefix
	 */
	@XmlAttribute
	public String getMediaTagPrefix() {
		return mediaTagPrefix;
	}
	/**
	 * @param mediaTagPrefix the mediaTagPrefix to set
	 */
	public void setMediaTagPrefix(String mediaTagPrefix) {
		this.mediaTagPrefix = mediaTagPrefix;
	}
	/**
	 * @return the mediaTagVersion
	 */
	@XmlAttribute
	public String getMediaTagVersion() {
		return mediaTagVersion;
	}
	/**
	 * @param mediaTagVersion the mediaTagVersion to set
	 */
	public void setMediaTagVersion(String mediaTagVersion) {
		this.mediaTagVersion = mediaTagVersion;
	}
	/**
	 * @return the title1
	 */
	@XmlAttribute
	public String getTitle1() {
		return title1;
	}
	/**
	 * @param title1 the title1 to set
	 */
	public void setTitle1(String title1) {
		this.title1 = title1;
	}
	/**
	 * @return the title2
	 */
	@XmlAttribute
	public String getTitle2() {
		return title2;
	}
	/**
	 * @param title2 the title2 to set
	 */
	public void setTitle2(String title2) {
		this.title2 = title2;
	}
	/**
	 * @return the directories
	 */
	@XmlElement(name = "Directory")
	public Collection<Directory> getDirectories() {
		return directories;
	}
	/**
	 * @param directories the directories to set
	 */
	public void setDirectories(Collection<Directory> directories) {
		this.directories = directories;
	}
	/**
	 * @return the videos
	 */
	public Collection<Video> getVideos() {
		return videos;
	}
	/**
	 * @param videos the videos to set
	 */
	@XmlElement(name = "Video")
	public void setVideos(Collection<Video> videos) {
		this.videos = videos;
	}
}
