Subversion Repositories Integrator Subversion

Rev

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

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

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Set;

import br.gov.al.saude.rhd.model.view.ServidorDadoFuncionalView;
import br.gov.al.saude.rhd.model.view.ServidorView;
import br.gov.al.saude.scg.model.view.PessoaFisicaView;
import br.gov.al.saude.test.unidade.generic.builder.AbstractEntidadeBuilder;


public class ServidorViewBuilder extends AbstractEntidadeBuilder<ServidorView> {

        public ServidorViewBuilder comSequencial(String codigo) {
                PessoaFisicaView pessoa = new PessoaFisicaView();
                pessoa.setSequencialPessoa(parseLong(codigo));
                entidade.setPessoa(pessoa);
                return this;
        }
       
        public ServidorViewBuilder comDadosFuncionais(Set<ServidorDadoFuncionalView> listaServidorDadoFuncionalView) {
                entidade.setListaDadosFuncionaisView(listaServidorDadoFuncionalView);
                return this;
        }
       
        public ServidorViewBuilder comDadoFuncional(ServidorDadoFuncionalView dadoFuncional) {
                entidade.getListaDadosFuncionaisView().add(dadoFuncional);
                return this;
        }
       
        public ServidorViewBuilder comPessoaFisica(PessoaFisicaView pessoaFisica) {
                entidade.setPessoa(pessoaFisica);
                return this;
        }

        public ServidorViewBuilder comDataNascimento(String dataNascimento) {
                entidade.setDataNascimento(parseDate(dataNascimento, "dd/MM/yyyy"));
                return this;
        }

        public ServidorViewBuilder comNacionalidade(String nacionalidade) {
                entidade.setNacionalidade(nacionalidade);
                return this;
        }

        public ServidorViewBuilder comNome(String nome) {
                entidade.setNome(nome);
                return this;
        }

        public ServidorViewBuilder comSexo(String sexo) {
                entidade.setSexo(sexo);
                return this;
        }
       
        @Override
        protected void inicializarDadosDefault() {
                entidade = new ServidorView();
        }
       
        private Date parseDate(String dataString, String pattern) {
                SimpleDateFormat format = new SimpleDateFormat(pattern);
                try {
                        return format.parse(dataString);
                } catch (ParseException e) {
                        throw new RuntimeException("Não foi possível converter a data.");
                }
        }

}