All Downloads are FREE. Search and download functionalities are using the official Maven repository.

br.com.objectos.jabuticava.serasa.relato.factoring.TrailerConciliacaoParser Maven / Gradle / Ivy

The newest version!
package br.com.objectos.jabuticava.serasa.relato.factoring;

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.IntegerOption;
import javax.annotation.Generated;

@Generated("br.com.objectos.way.io.flat.FlatRecordPlugin")
final class TrailerConciliacaoParser implements RecordMatcher, RecordParser {
  private static final TrailerConciliacaoParser INSTANCE = new TrailerConciliacaoParser();

  private static final String id = "99";

  private static final String tempoRelacionamentoPj = "00000000000";

  private static final String brancos0 = "00000000000000000000000000000000000000000000";

  private static final String tempoRelacionamentoPf = "00000000000";

  private static final String reservado = "          ";

  private static final String brancos1 = "                              ";

  private TrailerConciliacaoParser() {
  }

  public static RecordParser get() {
    return INSTANCE;
  }

  public static RecordMatcher getMatcher() {
    return INSTANCE;
  }

  @Override
  public boolean matches(String line) {
    return line != null ? line.startsWith("99") : false;
  }

  @Override
  public TrailerConciliacao parse(FlatFileReader file) throws RecordParseException {
    Record record = file.recordReader()
        .fixed(id)
        .fixed(tempoRelacionamentoPj)
        .fixed(brancos0)
        .integer(11, IntegerOption.ZEROFILL)
        .fixed(tempoRelacionamentoPf)
        .integer(11, IntegerOption.ZEROFILL)
        .fixed(reservado)
        .fixed(brancos1)
        .read();

    if (!record.valid()) {
      throw record.parseException();
    }

    return new TrailerConciliacaoBuilderPojo()
        .titulosPj(record.intValue())
        .titulosPf(record.intValue())
        .build();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy