Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.gov.al.saude.test.builder;

import java.util.Set;

import br.gov.al.saude.framework.core.util.VerificadorUtil;
import br.gov.al.saude.rhd.model.Cronograma;
import br.gov.al.saude.rhd.model.GrupoAvaliacao;
import br.gov.al.saude.rhd.model.ServidorAvaliacao;
import br.gov.al.saude.rhd.model.view.UnidadeView;
import br.gov.al.saude.scg.model.view.PessoaFisicaView;
import br.gov.al.saude.test.unidade.generic.builder.AbstractEntidadeBuilder;
import br.gov.al.saude.test.util.StringUtils;

public class GrupoAvaliacaoBuilder extends AbstractEntidadeBuilder<GrupoAvaliacao> {
       
        public GrupoAvaliacaoBuilder(GrupoAvaliacao grupoAvaliacao) {
                entidade = grupoAvaliacao;
        }
       
        public GrupoAvaliacaoBuilder() {
                super();
        }

        public GrupoAvaliacaoBuilder comSequencial(String sequencial) {
                entidade.setSequencial(StringUtils.valueLong(sequencial));
                return this;
        }

        public GrupoAvaliacaoBuilder comDescricao(String descricao) {
                entidade.setDescricao(descricao);
                return this;
        }

        public GrupoAvaliacaoBuilder comObservacao(String observacao) {
                entidade.setObservacao(observacao);
                return this;
        }

        public GrupoAvaliacaoBuilder comTipoSituacao(String tipoSituacao) {
                entidade.setTipoSituacao(tipoSituacao);
                return this;
        }

        public GrupoAvaliacaoBuilder comServidorAvaliador(PessoaFisicaView servidorAvaliador) {
                entidade.setAvaliador(servidorAvaliador);
                return this;
        }
       
        public GrupoAvaliacaoBuilder comServidoresAvaliados(Set<ServidorAvaliacao> servidoresAvaliados) {
                entidade.setServidoresAvaliados(servidoresAvaliados);
                return this;
        }
       
        public GrupoAvaliacaoBuilder comUnidade(UnidadeView unidade) {
                entidade.setUnidade(unidade);
                return this;
        }
       
        public GrupoAvaliacaoBuilder comCronograma(Cronograma cronograma) {
                entidade.setCronograma(cronograma);
                return this;
        }
       
        public GrupoAvaliacaoBuilder comCronograma(String numeroAno) {
                Cronograma cronograma = null;
                if(VerificadorUtil.naoEstaNuloOuVazio(numeroAno)){
                        cronograma = new CronogramaBuilder()
                                                         .comNumeroAno(numeroAno)
                                                         .build();
                }
                entidade.setCronograma(cronograma);    
                return this;
        }
       
        public GrupoAvaliacaoBuilder comUnidade(String codigoUnidade) {
                UnidadeView unidade = null;
                if(VerificadorUtil.naoEstaNuloOuVazio(codigoUnidade)){
                        unidade = new UnidadeViewBuilder()
                                                  .comSequencial(codigoUnidade)
                                                  .build();
                }
                entidade.setUnidade(unidade);
                return this;
        }
       
        @Override
        protected void inicializarDadosDefault() {
                entidade = new GrupoAvaliacao();
        }

        public GrupoAvaliacaoBuilder comAvaliador(String sequencialPessoa) {
                PessoaFisicaView avaliador = null;
                if(VerificadorUtil.naoEstaNuloOuVazio(sequencialPessoa)){
                        avaliador = new PessoaFisicaViewBuilder().comSequencialPessoa(sequencialPessoa).build();
                }
                entidade.setAvaliador(avaliador);
                return this;
        }
       
}