package siprp.planoactuacao.print;

import java.util.Vector;

import org.jdom.Element;

public class RiscoToPrint
	implements PrintableInterface
{
	protected String descricao;
	protected String valor;
	protected Vector<MedidaToPrint> medidas;
	protected String responsavel;
	protected String recursos;
	protected DataToPrint dataPrevistaInicio;
	protected DataToPrint dataPrevistaConclusao;
	protected String parecerDl;
	protected String parecerDns;
	protected String verificacaoSiprp;
	
	public RiscoToPrint( String descricao, String valor,
			Vector<MedidaToPrint> medidas, String responsavel, String recursos,
			DataToPrint dataPrevistaInicio, DataToPrint dataPrevistaConclusao,
			String parecerDl, String parecerDns, String verificacaoSiprp )
	{
		super();
		this.descricao = descricao;
		this.valor = valor;
		this.medidas = medidas;
		this.responsavel = responsavel;
		this.recursos = recursos;
		this.dataPrevistaInicio = dataPrevistaInicio;
		this.dataPrevistaConclusao = dataPrevistaConclusao;
		this.parecerDl = parecerDl;
		this.parecerDns = parecerDns;
		this.verificacaoSiprp = verificacaoSiprp;
	}

	@Override
	public Element toJdomElement() throws Exception
	{
		Element riscoElement = new Element( "risco" );
		Element descricaoElement = new Element( "descricao" );
		descricaoElement.setText( descricao );
		riscoElement.addContent( descricaoElement );
		Element valorElement = new Element( "valor" );
		valorElement.setText( valor != null ? valor.toString() : " " );
		riscoElement.addContent( valorElement );
		for( MedidaToPrint medida : medidas )
		{
			riscoElement.addContent( medida.toJdomElement() );
		}
		Element responsavelElement = new Element( "responsavel" );
		responsavelElement.setText( responsavel );
		riscoElement.addContent( responsavelElement );
		Element recursosElement = new Element( "recursos" );
		recursosElement.setText( recursos );
		riscoElement.addContent( recursosElement );
		if( dataPrevistaInicio != null )
		{
			riscoElement.addContent( dataPrevistaInicio.toJdomElement() );
		}
		if( dataPrevistaConclusao != null )
		{
			riscoElement.addContent( dataPrevistaConclusao.toJdomElement() );
		}
		Element parecerDlElement = new Element( "parecer-dl" );
		parecerDlElement.setText( parecerDl );
		riscoElement.addContent( parecerDlElement );
		Element parecerDnsElement = new Element( "parecer-dns" );
		parecerDnsElement.setText( parecerDns );
		riscoElement.addContent( parecerDnsElement );
		Element verificacaoSiprpElement = new Element( "verificacao-siprp" );
		verificacaoSiprpElement.setText( verificacaoSiprp );
		riscoElement.addContent( verificacaoSiprpElement );
		return riscoElement;
	}

	public String getDescricao()
	{
		return descricao;
	}

	public void setDescricao( String descricao )
	{
		this.descricao = descricao;
	}

	public String getValor()
	{
		return valor;
	}

	public void setValor( String valor )
	{
		this.valor = valor;
	}

	public Vector<MedidaToPrint> getMedidas()
	{
		return medidas;
	}

	public void setMedidas( Vector<MedidaToPrint> medidas )
	{
		this.medidas = medidas;
	}
	
	public void addMedida( MedidaToPrint medida )
	{
		medidas.add( medida );
	}

	public String getResponsavel()
	{
		return responsavel;
	}

	public void setResponsavel( String responsavel )
	{
		this.responsavel = responsavel;
	}

	public String getRecursos()
	{
		return recursos;
	}

	public void setRecursos( String recursos )
	{
		this.recursos = recursos;
	}

	public DataToPrint getDataPrevistaInicio()
	{
		return dataPrevistaInicio;
	}

	public void setDataPrevistaInicio( DataToPrint dataPrevistaInicio )
	{
		this.dataPrevistaInicio = dataPrevistaInicio;
	}

	public DataToPrint getDataPrevistaConclusao()
	{
		return dataPrevistaConclusao;
	}

	public void setDataPrevistaConclusao( DataToPrint dataPrevistaConclusao )
	{
		this.dataPrevistaConclusao = dataPrevistaConclusao;
	}

	public String getParecerDl()
	{
		return parecerDl;
	}

	public void setParecerDl( String parecerDl )
	{
		this.parecerDl = parecerDl;
	}

	public String getParecerDns()
	{
		return parecerDns;
	}

	public void setParecerDns( String parecerDns )
	{
		this.parecerDns = parecerDns;
	}

	public String getVerificacaoSiprp()
	{
		return verificacaoSiprp;
	}

	public void setVerificacaoSiprp( String verificacaoSiprp )
	{
		this.verificacaoSiprp = verificacaoSiprp;
	}

}
