
br.com.objectos.jabuticava.serasa.relato.factoring.HeaderConciliacaoParser Maven / Gradle / Ivy
The newest version!
package br.com.objectos.jabuticava.serasa.relato.factoring;
import br.com.objectos.jabuticava.br.Cnpj;
import br.com.objectos.jabuticava.serasa.format.CnpjFormatter;
import br.com.objectos.way.io.flat.FlatFileReader;
import br.com.objectos.way.io.flat.Record;
import br.com.objectos.way.io.flat.RecordMatcher;
import br.com.objectos.way.io.flat.RecordParseException;
import br.com.objectos.way.io.flat.RecordParser;
import br.com.objectos.way.io.flat.pojo.LocalDatePattern;
import java.time.LocalDate;
import javax.annotation.Generated;
@Generated("br.com.objectos.way.io.flat.FlatRecordPlugin")
final class HeaderConciliacaoParser implements RecordMatcher, RecordParser {
private static final HeaderConciliacaoParser INSTANCE = new HeaderConciliacaoParser();
private static final String id = "00";
private static final String identificacao = "RELATO COMP NEGOCIOS";
private static final String concilia = "CONCILIA";
private static final String periodicidade = "D";
private static final String segmentoFactoring = "028";
private static final String brancos0 = " ";
private static final String identificacaoVersao = "V.";
private static final String versao = "01";
private static final String brancos1 = " ";
private HeaderConciliacaoParser() {
}
public static RecordParser get() {
return INSTANCE;
}
public static RecordMatcher getMatcher() {
return INSTANCE;
}
@Override
public boolean matches(String line) {
return line != null ? line.startsWith("00") : false;
}
@Override
public HeaderConciliacao parse(FlatFileReader file) throws RecordParseException {
Record record = file.recordReader()
.fixed(id)
.fixed(identificacao)
.custom(14, new CnpjFormatter())
.fixed(concilia)
.localDate(LocalDatePattern.YYYYMMDD)
.fixed(periodicidade)
.text(15)
.fixed(segmentoFactoring)
.fixed(brancos0)
.fixed(identificacaoVersao)
.fixed(versao)
.fixed(brancos1)
.read();
if (!record.valid()) {
throw record.parseException();
}
return new HeaderConciliacaoBuilderPojo()
.cnpj(record. get())
.dataFinal(record. get())
.reservado(record. get())
.build();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy