package com.k_int.aggr2.mimsy.data;

import java.io.Serializable;
import java.util.Date;

import com.k_int.aggr2.mimsy.data.MimsyDataDTO;
import com.k_int.mimsy.ref.MimsyDataTypeEnum;
import com.k_int.mimsy.ref.ObjectConformanceEnum;
import com.k_int.mimsy.ref.OriginatorEnum;

/**
 * 
 * @author rob
 * 
 * A class representing the contextual record for a master record within a group
 * It contains a summary of the master record and a contextual descriptive record
 * which only applies to the record in this context
 *
 */
public class DataContextDTO extends MimsyDataDTO implements Serializable
{
	private static final long serialVersionUID = 1L;
	private String group_identifier;
	private String data_identifier;
	private CIIMContextDataDTO ciim_data=null;
	
	private CIIMMasterDataDTO master_data=null;
	private MimsyDataTypeEnum master_data_type;
	private OriginatorEnum originator;
	
	protected DataContextDTO()
	{;}
	

	public DataContextDTO(String identifier,String data_identifier,String group_identifier,Date last_updated, MimsyDataTypeEnum type,OriginatorEnum originator)
	{
		super(identifier,MimsyDataTypeEnum.DATA_CONTEXT,last_updated,ObjectConformanceEnum.CORE);
		this.data_identifier=data_identifier;
		this.group_identifier=group_identifier;
		master_data_type=type;
		this.originator=originator;
	}
	
	public String getMimsyDataIdentifier()
	{
		return data_identifier;
	}
	
	protected void setMimsyDataIdentifier(String context_identifier)
	{
		this.data_identifier=context_identifier;
	}
	
	public String getGroupIdentifier()
	{
		return group_identifier;
	}
	
	public OriginatorEnum getOriginator()
	{
		return originator;
	}
	
	public CIIMContextDataDTO getCIIMData()
	{
		return ciim_data;
	}
	
	public void setCIIMData(CIIMContextDataDTO ciim_data)
	{
		this.ciim_data=ciim_data;
	}
	
	public CIIMMasterDataDTO getMasterData()
	{
		return master_data;
	}
	
	// needed if this context is created without there
	// being master data present
	public MimsyDataTypeEnum getMasterDataType()
	{
		return master_data_type;
	}
	
	public void setMasterData(CIIMMasterDataDTO master_data)
	{
		this.master_data=master_data;
	}
	
	protected void setGroupIdentifier(String group_identifier)
	{
		this.group_identifier=group_identifier;
	}

	@Override
	public String getSummaryTitle() 
	{
		//String retval=null;
		//if(master_data!=null)
		//	retval = master_data.getMaster().getSummaryTitle();
		
		//return retval;
		return null;
	}
}
