/**
 * ScheduleProxy.java
 * Created Jun 11, 2008
 * Copyright (c) TANDBERG Television 2007-2008
 */
package com.tandbergtv.watchpoint.pmm.entities;

import java.util.Collection;

/**
 * Proxy class for a schedule.
 * 
 * @author Sahil Verma
 */
public class ScheduleProxy extends Schedule {

	protected int titlelisttypeid;
	
	/**
	 * Creates a ScheduleProxy
	 */
	protected ScheduleProxy() {
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.watchpoint.pmm.entities.Schedule#getType()
	 */
	public TitleListType getType() {
		/*
		 * Remember that this guy is just faking the real things, it is not a first-class
		 * asset list
		 */
		if (titlelisttypeid == TitleListType.PITCH.ordinal())
			return TitleListType.PITCH;
		
		if (titlelisttypeid == TitleListType.PLANNER.ordinal())
			return TitleListType.PLANNER;
		
		throw new RuntimeException("Not a valid type: " + titlelisttypeid);
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.watchpoint.pmm.entities.Schedule#addProgressItem(com.tandbergtv.watchpoint.pmm.entities.ProgressItem)
	 */
	public void addProgressItem(ProgressItem progressItem) {
		throw new UnsupportedOperationException("Proxy call not available");
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.watchpoint.pmm.entities.Schedule#getProgressItems()
	 */
	public Collection<ProgressItem> getProgressItems() {
		throw new UnsupportedOperationException("Proxy call not available");
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.watchpoint.pmm.entities.Schedule#getProgressItems(com.tandbergtv.watchpoint.pmm.entities.Title)
	 */
	public Collection<ProgressItem> getProgressItems(Title title) {
		throw new UnsupportedOperationException("Proxy call not available");
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.watchpoint.pmm.entities.Schedule#removeProgressItem(com.tandbergtv.watchpoint.pmm.entities.ProgressItem)
	 */
	public void removeProgressItem(ProgressItem progressItem) {
		throw new UnsupportedOperationException("Proxy call not available");
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.watchpoint.pmm.entities.Schedule#removeTitle(com.tandbergtv.watchpoint.pmm.entities.Title)
	 */
	public void removeTitle(Title title) {
		throw new UnsupportedOperationException("Proxy call not available");
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.watchpoint.pmm.entities.AssetList#addTitle(com.tandbergtv.watchpoint.pmm.entities.Title)
	 */
	public void addTitle(Title title) {
		throw new UnsupportedOperationException("Proxy call not available");
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.watchpoint.pmm.entities.AssetList#addTitles(java.util.Collection)
	 */
	public void addTitles(Collection<Title> titles) {
		throw new UnsupportedOperationException("Proxy call not available");
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.watchpoint.pmm.entities.AssetList#addTitles(com.tandbergtv.watchpoint.pmm.entities.Title[])
	 */
	public void addTitles(Title... titles) {
		throw new UnsupportedOperationException("Proxy call not available");
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.watchpoint.pmm.entities.AssetList#getTitles()
	 */
	public Collection<Title> getTitles() {
		throw new UnsupportedOperationException("Proxy call not available");
	}

	/* (non-Javadoc)
	 * @see com.tandbergtv.watchpoint.pmm.entities.AssetList#toString()
	 */
	public String toString() {
		return "[" + this.id + "] " + this.date;
	}
}
