//#############################################################################
//#                                                                           #
//#  Copyright (C) <2015>  <IMS MAXIMS>                                       #
//#                                                                           #
//#  This program is free software: you can redistribute it and/or modify     #
//#  it under the terms of the GNU Affero General Public License as           #
//#  published by the Free Software Foundation, either version 3 of the       #
//#  License, or (at your option) any later version.                          # 
//#                                                                           #
//#  This program is distributed in the hope that it will be useful,          #
//#  but WITHOUT ANY WARRANTY; without even the implied warranty of           #
//#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
//#  GNU Affero General Public License for more details.                      #
//#                                                                           #
//#  You should have received a copy of the GNU Affero General Public License #
//#  along with this program.  If not, see <http://www.gnu.org/licenses/>.    #
//#                                                                           #
//#  IMS MAXIMS provides absolutely NO GUARANTEE OF THE CLINICAL SAFTEY of    #
//#  this program.  Users of this software do so entirely at their own risk.  #
//#  IMS MAXIMS only ensures the Clinical Safety of unaltered run-time        #
//#  software that it builds, deploys and maintains.                          #
//#                                                                           #
//#############################################################################
//#EOH
// This code was generated by Barbara Worwood using IMS Development Environment (version 1.80 build 5589.25814)
// Copyright (C) 1995-2015 IMS MAXIMS. All rights reserved.
// WARNING: DO NOT MODIFY the content of this file

package ims.icp.vo.beans;

public class PatientICPPhasesLiteVoBean extends ims.vo.ValueObjectBean
{
	public PatientICPPhasesLiteVoBean()
	{
	}
	public PatientICPPhasesLiteVoBean(ims.icp.vo.PatientICPPhasesLiteVo vo)
	{
		this.id = vo.getBoId();
		this.version = vo.getBoVersion();
		this.phase = vo.getPhase() == null ? null : (ims.icp.vo.beans.ICPPhaseLiteVoBean)vo.getPhase().getBean();
		this.phaseactions = vo.getPhaseActions() == null ? null : vo.getPhaseActions().getBeanCollection();
		this.currentstatus = vo.getCurrentStatus() == null ? null : (ims.icp.vo.beans.PatientICPPhaseStatusVoBean)vo.getCurrentStatus().getBean();
	}

	public void populate(ims.vo.ValueObjectBeanMap map, ims.icp.vo.PatientICPPhasesLiteVo vo)
	{
		this.id = vo.getBoId();
		this.version = vo.getBoVersion();
		this.phase = vo.getPhase() == null ? null : (ims.icp.vo.beans.ICPPhaseLiteVoBean)vo.getPhase().getBean(map);
		this.phaseactions = vo.getPhaseActions() == null ? null : vo.getPhaseActions().getBeanCollection();
		this.currentstatus = vo.getCurrentStatus() == null ? null : (ims.icp.vo.beans.PatientICPPhaseStatusVoBean)vo.getCurrentStatus().getBean(map);
	}

	public ims.icp.vo.PatientICPPhasesLiteVo buildVo()
	{
		return this.buildVo(new ims.vo.ValueObjectBeanMap());
	}

	public ims.icp.vo.PatientICPPhasesLiteVo buildVo(ims.vo.ValueObjectBeanMap map)
	{
		ims.icp.vo.PatientICPPhasesLiteVo vo = null;
		if(map != null)
			vo = (ims.icp.vo.PatientICPPhasesLiteVo)map.getValueObject(this);
		if(vo == null)
		{
			vo = new ims.icp.vo.PatientICPPhasesLiteVo();
			map.addValueObject(this, vo);
			vo.populate(map, this);
		}
		return vo;
	}

	public Integer getId()
	{
		return this.id;
	}
	public void setId(Integer value)
	{
		this.id = value;
	}
	public int getVersion()
	{
		return this.version;
	}
	public void setVersion(int value)
	{
		this.version = value;
	}
	public ims.icp.vo.beans.ICPPhaseLiteVoBean getPhase()
	{
		return this.phase;
	}
	public void setPhase(ims.icp.vo.beans.ICPPhaseLiteVoBean value)
	{
		this.phase = value;
	}
	public ims.icp.vo.beans.PatientICPActionLiteVoBean[] getPhaseActions()
	{
		return this.phaseactions;
	}
	public void setPhaseActions(ims.icp.vo.beans.PatientICPActionLiteVoBean[] value)
	{
		this.phaseactions = value;
	}
	public ims.icp.vo.beans.PatientICPPhaseStatusVoBean getCurrentStatus()
	{
		return this.currentstatus;
	}
	public void setCurrentStatus(ims.icp.vo.beans.PatientICPPhaseStatusVoBean value)
	{
		this.currentstatus = value;
	}

	private Integer id;
	private int version;
	private ims.icp.vo.beans.ICPPhaseLiteVoBean phase;
	private ims.icp.vo.beans.PatientICPActionLiteVoBean[] phaseactions;
	private ims.icp.vo.beans.PatientICPPhaseStatusVoBean currentstatus;
}
