Subversion Repositories Integrator Subversion

Rev

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

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

import static br.gov.al.saude.test.ConstantesTestHelper.VALOR_VAZIO;
import static br.gov.al.saude.test.util.SrvConversorDeTipo.FORMATO_DATA_DD_MM_YYYY;
import static br.gov.al.saude.test.util.SrvConversorDeTipo.converterDateParaString;

import java.util.ArrayList;
import java.util.List;

import br.gov.al.saude.framework.core.util.VerificadorUtil;
import br.gov.al.saude.srv.model.ServidorDependente;
import br.gov.al.saude.test.util.formatador.impl.AbstractFormatadorDeMensagem;

public class FormatadorDependente extends AbstractFormatadorDeMensagem<ServidorDependente> {

        private static final String PADRAO_DEPENDENTE = "Nome: ''{0}'', CPF: ''{1}'', Data de Nascimento: ''{2}'', Sexo: ''{3}'', Parentesco: ''{4}''";
       
        @Override
        protected String obterPadrao() {
                return PADRAO_DEPENDENTE;
        }

        @Override
        protected List<Object> gerarParametros(ServidorDependente servidorDependente) {
                List<Object> listaParametros = new ArrayList<Object>();
                listaParametros.add(servidorDependente.getNome());
                listaParametros.add(VerificadorUtil.naoEstaNuloOuVazio(servidorDependente.getNumeroCpf()) ? servidorDependente.getNumeroCpf() : VALOR_VAZIO);
                listaParametros.add(VerificadorUtil.naoEstaNuloOuVazio(servidorDependente.getDataNascimento()) ? converterDateParaString(servidorDependente.getDataNascimento(), FORMATO_DATA_DD_MM_YYYY) : VALOR_VAZIO);
                listaParametros.add(getNomeSexo(servidorDependente.getTipoSexo()));
                listaParametros.add(servidorDependente.getDescricaoTipoParentesco().toUpperCase());
               
                return listaParametros;
        }
       
        private static String getNomeSexo(String sexo) {
                if(VerificadorUtil.naoEstaNuloOuVazio(sexo)) {
                        if("M".equalsIgnoreCase(sexo)) {
                                return "MASCULINO";
                        } else  if("F".equalsIgnoreCase(sexo)) {
                                return "FEMININO";
                        }
                }
               
                return null;
        }      
}