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.MimsyDataTypeEnum;
import com.k_int.mimsy.ref.ObjectConformanceEnum;



public class MimsyPublicationDataDTO extends MimsyDataDTO implements MimsyReferenceDataDTO, Serializable
{
	private static final long serialVersionUID = 1L;
	private String publisher;
    private String publication_date;
    private String year_published;
    private String title;
    private String brief_title;
    private String title_statement;
    private String series_title;
    private String publication_type;
    private String author; // this should be a link - not sure if we should create this person
    private String editor;
    private Boolean published;
    private String place_published;
    private String citation;
    private String volume;
    private String issue;
    private String edition;
    private String volumes;
    
    private String pages_tracks;
    private String illustrated;
    private Set<String> subject_headings = new HashSet<String>(); // type and list type separated by semi colon
    private String isbn_issn;
    private String location;
    private String description;
    
    public MimsyPublicationDataDTO(String mimsy_identifier, Date last_updated,ObjectConformanceEnum conformance)
    {
        super(mimsy_identifier, MimsyDataTypeEnum.PUBLICATION,last_updated,conformance);
    }

   
	public String getYearPublished() 
	{
		return year_published;
	}

	public void setYearPublished(String yearPublished) 
	{
		year_published = yearPublished;
	}

	public String getTitle() 
	{
		return title;
	}

	public String getDescription()
	{
		return description;
	}
	
	public void setDescription(String description)
	{
		this.description=description;
	}
	
	public void setBriefTitle(String brief_title) 
	{
		this.brief_title = brief_title;
	}
	
	public String getBriefTitle() 
	{
		return brief_title;
	}

	public void setTitle(String title) 
	{
		this.title = title;
	}

	public String getTitleStatement() 
	{
		return title_statement;
	}

	public void setTitleStatement(String titleStatement) {
		title_statement = titleStatement;
	}

	public String getSeriesTitle() {
		return series_title;
	}

	public void setSeriesTitle(String seriesTitle) {
		series_title = seriesTitle;
	}

	public String getPublicationType() {
		return publication_type;
	}

	public void setPublicationType(String publicationType) {
		publication_type = publicationType;
	}

	public String getAuthor() {
		return author;
	}

	public void setAuthor(String author) {
		this.author = author;
	}

	public String getEditor() {
		return editor;
	}

	public void setEditor(String editor) {
		this.editor = editor;
	}

	public Boolean isPublished() {
		return published;
	}

	public void setPublished(Boolean published) {
		this.published = published;
	}

	public String getPlacePublished() {
		return place_published;
	}

	public void setPlacePublished(String placePublished) {
		place_published = placePublished;
	}

	public String getCitation() {
		return citation;
	}

	public void setCitation(String citation) {
		this.citation = citation;
	}

	public String getVolume() {
		return volume;
	}

	public void setVolume(String volume) {
		this.volume = volume;
	}

	public String getIssue() {
		return issue;
	}

	public void setIssue(String issue) {
		this.issue = issue;
	}

	public String getEdition() {
		return edition;
	}

	public void setEdition(String edition) {
		this.edition = edition;
	}

	public String getVolumes() {
		return volumes;
	}

	public void setVolumes(String volumes) {
		this.volumes = volumes;
	}

	public String getPagesTracks() {
		return pages_tracks;
	}

	public void setPagesTracks(String pagesTracks) {
		pages_tracks = pagesTracks;
	}

	public String getIllustrated() {
		return illustrated;
	}

	public void setIllustrated(String illustrated) {
		this.illustrated = illustrated;
	}

	public Set<String> getSubjectHeadings() {
		return subject_headings;
	}

	public void setSubjectHeadings(Set<String> subjectHeadings) {
		subject_headings = subjectHeadings;
	}

	public String getIsbnIssn() {
		return isbn_issn;
	}

	public void setIsbnIssn(String isbnIssn) {
		isbn_issn = isbnIssn;
	}

	public String getLocation() {
		return location;
	}

	public void setLocation(String location) {
		this.location = location;
	}

	public void setPublisher(String publisher)
    {
        this.publisher=publisher;
    }
    
    public String getPublisher()
    {
        return publisher;
    }
    
    public void setPublicationDate(String pub_date)
    {
        publication_date=pub_date;
    }
    
    public String getPublicationDate()
    {
        return publication_date;
    }


	@Override
	public String getSummaryTitle() {
		return this.getTitle()+" - "+this.getPublisher()+" - "+this.getPublicationDate();
	}

}
