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.DataUtils;
import br.gov.al.saude.framework.core.util.VerificadorUtil;
import br.gov.al.saude.framework.model.PessoaFisicaView;
import br.gov.al.saude.framework.model.UsuarioView;
import br.gov.al.saude.srv.model.Deficiencia;
import br.gov.al.saude.srv.model.GrauInstrucao;
import br.gov.al.saude.srv.model.Nacionalidade;
import br.gov.al.saude.srv.model.Servidor;
import br.gov.al.saude.srv.model.ServidorContaBancaria;
import br.gov.al.saude.srv.model.ServidorDadoFuncional;
import br.gov.al.saude.srv.model.ServidorDependente;
import br.gov.al.saude.srv.model.ServidorLocalizacaoArquivo;
import br.gov.al.saude.srv.model.ServidorQualificacao;
import br.gov.al.saude.test.unidade.generic.builder.AbstractEntidadeBuilder;

public class ServidorBuilder extends AbstractEntidadeBuilder<Servidor> {

        @Override
        protected void inicializarDadosDefault() {
                entidade = new Servidor();
        }

        public ServidorBuilder(Servidor servidor) {
                if(VerificadorUtil.naoEstaNuloOuVazio(servidor)) {
                        entidade = servidor;
                } else {
                        inicializarDadosDefault();                     
                }
        }
       
        public ServidorBuilder() {
                super();
        }
       
        public ServidorBuilder comSequencial(String sequencialPessoa) {
                entidade.getPessoa().setSequencialPessoa(parseLong(sequencialPessoa));
                return this;
        }
       
        public ServidorBuilder comObservacao(String observacao) {
                entidade.setObservacao(observacao);
                return this;
        }
       
        public ServidorBuilder comTipoSituacaoCadastral(String tipoSituacaoCadastral) {
                entidade.setTipoSituacaoCadastral(tipoSituacaoCadastral);
                return this;
        }

        public ServidorBuilder comGrauInstrucao(GrauInstrucao grauInstrucao) {
                entidade.setGrauInstrucao(grauInstrucao);
                return this;
        }
       
        public ServidorBuilder comDeficiencia(Deficiencia deficiencia) {
                entidade.setDeficiencia(deficiencia);
                return this;
        }
       
        public ServidorBuilder comUsuarioCadastro(String sequencialUsuario) {
                if(VerificadorUtil.naoEstaNuloOuVazio(sequencialUsuario)) {
                        entidade.setUsuario(new UsuarioViewBuilder().comSequencial(sequencialUsuario).build());
                }
                return this;
        }
       
        public ServidorBuilder comUsuarioAlteracaoSituacaoCadastral(UsuarioView usuario) {
                entidade.setUsuarioAlteracaoSituacaoCadastral(usuario);
                return this;
        }

        public ServidorBuilder comUsuarioAlteracaoSituacaoCadastral(String sequencialUsuario) {
                if(VerificadorUtil.naoEstaNuloOuVazio(sequencialUsuario)) {
                        entidade.setUsuarioAlteracaoSituacaoCadastral(new UsuarioViewBuilder().comSequencial(sequencialUsuario).build());
                }
                return this;
        }
       
        public ServidorBuilder comNacionalidade(Nacionalidade nacionalidade) {
                entidade.setNacionalidade(nacionalidade);
                return this;
        }
       
        public ServidorBuilder comDadoFuncional(Set<ServidorDadoFuncional> dadosFuncionais) {
                if(VerificadorUtil.naoEstaNuloOuVazio(dadosFuncionais)) {
                        for(ServidorDadoFuncional servidorDadoFuncional : dadosFuncionais) {
                                servidorDadoFuncional.setServidor(entidade);
                        }
                       
                        entidade.setListaServidorDadoFuncional(dadosFuncionais);
                }
                return this;
        }

        public ServidorBuilder comQualificacao(Set<ServidorQualificacao> qualificacoes) {
                if (VerificadorUtil.naoEstaNuloOuVazio(qualificacoes)) {
                        for (ServidorQualificacao servidorQualificacao : qualificacoes) {
                                servidorQualificacao.setServidor(entidade);
                        }
                        entidade.setListaServidorQualificacao(qualificacoes);
                }
               
                return this;
        }
       
        public ServidorBuilder comDependente(Set<ServidorDependente> dependentes) {
                if (VerificadorUtil.naoEstaNuloOuVazio(dependentes)) {
                        for (ServidorDependente servidorDependente : dependentes) {
                                servidorDependente.setServidor(entidade);
                        }
                       
                        entidade.setListaServidorDependente(dependentes);
                }
                return this;
        }

        public ServidorBuilder comContaBancaria(Set<ServidorContaBancaria> contasBancarias) {
                entidade.setListaServidorContaBancaria(contasBancarias);
                return this;
        }
       
        public ServidorBuilder comDataHoraCadastro(String datahora) {
                entidade.setDataHoraCadastro(DataUtils.converterStringParaDataComHorario(datahora));
                return this;
        }
       
        public ServidorBuilder comDataHoraAlteracao(String dataHora) {
                entidade.setDataHoraAlteracao(DataUtils.converterStringParaDataComHorario(dataHora));
                return this;
        }
       
        public ServidorBuilder comPessoa(PessoaFisicaView pessoa) {
                entidade.setPessoa(pessoa);
                return this;
        }

        public ServidorBuilder comServidorLocalizacaoArquivo(ServidorLocalizacaoArquivo servidorLocalizacaoArquivo) {
                entidade.setServidorLocalizacaoArquivo(servidorLocalizacaoArquivo);
                return this;
        }
       
        public ServidorBuilder comFoto(byte[] foto) {
                entidade.setFoto(foto);
                return this;
        }

}