package com.k_int.aggr2.mimsy.data;

import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import com.k_int.mimsy.ref.MediaRecordTypeEnum;
import com.k_int.mimsy.ref.MimsyDataTypeEnum;
import com.k_int.mimsy.ref.ObjectConformanceEnum;
import com.k_int.mimsy.ref.OriginatorEnum;


public class MimsyMediaDataDTO  extends MimsyDataDTO implements MimsyReferenceDataDTO,Serializable
{
	private static final long serialVersionUID = 1L;
	private String format;
	private String caption;
	private String credit_line;
	private String donor_location;
	private String donor_filename;
	private String donor_relative_path;
	private String large_donor_relative_path;
	private String large_donor_location;
	private String image_type;
	
	private MediaRecordTypeEnum type;
	private String medium;
	private String media_type;
	private String cabinet_image_number;
	
	// the image data we have synthesised
	private String large_synth_relative_path;
	private String large_synth_file_location;
	private String mid_synth_relative_path;
	private String mid_synth_file_location;
	private String preview_synth_relative_path;
	private String preview_synth_file_location;
	private OriginatorEnum originator;
	
	
	private Set<RightsDTO> rights = new HashSet<RightsDTO>();
	private String relationship;
	
	
	public MimsyMediaDataDTO(String mimsy_identifier, Date last_modified, OriginatorEnum originator) 
	{
		super(mimsy_identifier, MimsyDataTypeEnum.MEDIA,last_modified,ObjectConformanceEnum.CORE);
		this.originator=originator;
	}

	
	
	public void setFormat(String format)
	{
		this.format=format;
	}
	
	public String getFormat()
	{
		return format;
	}
	
	public void setCaption(String caption)
	{
		this.caption=caption;
	}
	
	public String getLargeImageType()
	{
		return image_type;
	}
	
	public void setLargeImagetype(String image_type){
		this.image_type=image_type;
	}
	
	public String getCaption()
	{
		return caption;
	}
		
	public String getRelationship()
	{
		return relationship;
	}
	
	public void setRelationship(String relationship)
	{
		this.relationship=relationship;
	}
	
	public void setRights(Set<RightsDTO> rights)
	{
		this.rights=rights;
	}
	
	public Set<RightsDTO> getRights()
	{
		return rights;
	}
	
	public void setDonorRelativePath(String relative_path)
	{
		this.donor_relative_path=relative_path;
	}
	
	public String getDonorRelativePath()
	{
		return donor_relative_path;
	}
	
	public void setDonorLocation(String location)
	{
		this.donor_location=location;
	}
	
	public String getDonorLocation()
	{
		return donor_location;
	}
	

	public void setDonorFilename(String filename)
	{
		this.donor_filename=filename;
	}
	
	public String getDonorFilename()
	{
		return donor_filename;
	}
	
	public OriginatorEnum getOriginator()
	{
		return originator;
	}
	
	
	public void setLargeDonorRelativePath(String larger_relative_path)
	{
		this.large_donor_relative_path=larger_relative_path;
	}
	
	public String getLargeDonorRelativePath()
	{
		return large_donor_relative_path;
	}
	
	public void setLargeDonorLocation(String location)
	{
		this.large_donor_location=location;
	}
	
	public String getLargeDonorLocation()
	{
		return large_donor_location;
	}
	
		
	public void setMidRelativePath(String mid_relative_path)
	{
		this.mid_synth_relative_path=mid_relative_path;
	}
	
	public String getMidRelativePath()
	{
		return mid_synth_relative_path;
	}
	
	public void setPreviewRelativePath(String preview_relative_path)
	{
		this.preview_synth_relative_path=preview_relative_path;
	}
	
	public String getPreviewRelativePath()
	{
		return preview_synth_relative_path;
	}
	
	public void setLargeRelativePath(String large_relative_path)
	{
		this.large_synth_relative_path=large_relative_path;
	}
	
	public String getLargeRelativePath()
	{
		return large_synth_relative_path;
	}
	
	public void setLargeFileLocation(String location)
	{
		this.large_synth_file_location=location;
	}
	
	public String getLargeFileLocation()
	{
		return large_synth_file_location;
	}
	
	public void setMidFileLocation(String location)
	{
		this.mid_synth_file_location=location;
	}
	
	public String getMidFileLocation()
	{
		return mid_synth_file_location;
	}
	
	public void setPreviewFileLocation(String location)
	{
		this.preview_synth_file_location=location;
	}
	
	public String getPreviewFileLocation()
	{
		return preview_synth_file_location;
	}
		
	
	public void setCreditLine(String credit_line)
	{
		this.credit_line=credit_line;
	}
	
	public String getCreditLine()
	{
		return credit_line;
	}

	
	public void setCabinetImageNumber(String cabinet_image_number)
	{
		this.cabinet_image_number=cabinet_image_number;
	}
	
	public String getCabinetImageNumber()
	{
		return cabinet_image_number;
	}

	public void setRecordType(MediaRecordTypeEnum type)
	{
		this.type=type;
	}
			
	public MediaRecordTypeEnum getRecordType()
	{
		return type;
	}
	
	public String getMedium()
	{
		return medium;
	}
	
	
	public void setMedium(String medium)
	{
		this.medium=medium;
	}
	
	public void setMediaType(String media_type)
	{
		this.media_type=media_type;
	}
	
	public String getMediaType()
	{
		return media_type;
	}



	@Override
	public String getSummaryTitle() {
		return this.getDonorLocation();//+"\\"+this.getDonorFilename();
	}

}
