if (!registro.getLinha().equals(Dominios.STRING_VAZIA)) { //Possui conteudo na linha
posicoes = Util.split(registro.getLinha(),((DadosTecnologiaPerfilTxtDtpt)perfil.getDadosTecnologiaPerfilDtp()).getSeparadorCamposDtpt());
TipoRegistroEnum tipoRegistro = null;
//itera nos campos da linha
for (int campo=0;campo<posicoes.length;campo++) {
String valorCampo = posicoes[campo];
if (campo == HE_A_IDENT) {
tipoRegistro = validaTipoRegistro(registro,valorCampo,linha);
}
//Valida se a primeira linha do arquivo � do tipo header de arquivo
if (linha == AnaliseSintaticaItemEstruturaTXT.REGISTRO_INICIAL) {
validaLinhaHeaderArquivo (tipoRegistro,registro,linha,valorCampo,campo,posicoes, perfil);
} else {
linhaAnterior = linha -1;
//Carrega os valores avaliados anteriormente, utilizados na valida��o do HEADER_ITEM e no TRAILER_ARQUIVO
if (linhaAnterior > 0) {
registroAnterior = (RegistroTXT)listaRegistro.get(posicaoRegistroNaLista-1);
}
if (tipoRegistro.equals(TipoRegistroEnum.HEADER_ARQUIVO)) {
validaLinhaHeaderArquivo (tipoRegistro,registro,linha,valorCampo,campo,posicoes, perfil);
} else if (tipoRegistro.equals(TipoRegistroEnum.HEADER_ITEM)){
validarLinhaHeaderItem (registro,linha,valorCampo,campo,posicoes,false, perfil);
} else if (tipoRegistro.equals(TipoRegistroEnum.TRAILER_ITEM)){
validarLinhaTrailerItem(registroAnterior,linhaAnterior, registro,linha,posicoes,campo,valorCampo, perfil);
} else if (tipoRegistro.equals(TipoRegistroEnum.TRAILER_ARQUIVO)){
validaLinhaTrailerArquivo (registroAnterior,linhaAnterior,registro,linha,ULTIMA_LINHA,posicoes,valorCampo,campo,false);
}
}
}
} else { //Linha em branco