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

br.com.objectos.jabuticava.serasa.relato.factoring.TituloConciliacaoPojo 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.CadastroSacadoFormatter;
import br.com.objectos.jabuticava.serasa.format.CnpjFormatter;
import br.com.objectos.way.io.flat.FlatFileWriter;
import br.com.objectos.way.io.flat.pojo.DecimalOption;
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",
    "br.com.objectos.way.io.flat.FlatRecordPlugin$ThisPojoPropertyAction",
    "br.com.objectos.way.pojo.compiler.PojoCompiler"
})
final class TituloConciliacaoPojo extends TituloConciliacao {
  private static final String id = "01";

  private static final String brancos0 = " ";

  private static final String ajusteCnpjCedente = "0";

  private static final String reservado0 = " ";

  private static final String tipoNegocio = "CO";

  private static final String tipoCarteira = "CS";

  private static final String reservado1 = "  ";

  private static final String reservado2 = " ";

  private static final String reservado3 = " ";

  private static final String reservado4 = "  ";

  private final CadastroSacado cadastroSacado;

  private final String numeroTitulo;

  private final LocalDate dataEmissao;

  private final double valorNominal;

  private final LocalDate dataVencimento;

  private final DataPagamento dataPagamento;

  private final String hashD;

  private final String numeroTituloLongo;

  private final Cnpj cnpjCedente;

  private final TipoTitulo tipoTitulo;

  private final TipoInformacao tipoInformacao;

  public TituloConciliacaoPojo(TituloConciliacaoBuilderPojo builder) {
    super();
    cadastroSacado = builder.___get___cadastroSacado();
    numeroTitulo = builder.___get___numeroTitulo();
    dataEmissao = builder.___get___dataEmissao();
    valorNominal = builder.___get___valorNominal();
    dataVencimento = builder.___get___dataVencimento();
    dataPagamento = builder.___get___dataPagamento();
    hashD = builder.___get___hashD();
    numeroTituloLongo = builder.___get___numeroTituloLongo();
    cnpjCedente = builder.___get___cnpjCedente();
    tipoTitulo = builder.___get___tipoTitulo();
    tipoInformacao = builder.___get___tipoInformacao();
  }

  @Override
  public void emit(FlatFileWriter file) {
    file.recordWriter()
        .fixed(id)
        .custom(cadastroSacado, 16, new CadastroSacadoFormatter())
        .text(numeroTitulo, 10)
        .localDate(dataEmissao, LocalDatePattern.YYYYMMDD)
        .decimal(valorNominal, 13, 2, DecimalOption.ZEROFILL)
        .localDate(dataVencimento, LocalDatePattern.YYYYMMDD)
        .custom(dataPagamento, 8, new DataPagamentoFormatter())
        .text(hashD, 2)
        .text(numeroTituloLongo, 32)
        .fixed(brancos0)
        .fixed(ajusteCnpjCedente)
        .custom(cnpjCedente, 14, new CnpjFormatter())
        .flatEnum(tipoTitulo, 2)
        .fixed(reservado0)
        .fixed(tipoNegocio)
        .flatEnum(tipoInformacao, 2)
        .fixed(tipoCarteira)
        .fixed(reservado1)
        .fixed(reservado2)
        .fixed(reservado3)
        .fixed(reservado4)
        .write();
  }

  @Override
  public String toString() {
    StringBuilder builder = new StringBuilder();
    FlatFileWriter file = new FlatFileWriter(builder);
    emit(file);
    return builder.toString();
  }

  @Override
  String id() {
    return id;
  }

  @Override
  public CadastroSacado cadastroSacado() {
    return cadastroSacado;
  }

  @Override
  public String numeroTitulo() {
    return numeroTitulo;
  }

  @Override
  public LocalDate dataEmissao() {
    return dataEmissao;
  }

  @Override
  public double valorNominal() {
    return valorNominal;
  }

  @Override
  public LocalDate dataVencimento() {
    return dataVencimento;
  }

  @Override
  DataPagamento dataPagamento() {
    return dataPagamento;
  }

  @Override
  public String hashD() {
    return hashD;
  }

  @Override
  public String numeroTituloLongo() {
    return numeroTituloLongo;
  }

  @Override
  String brancos0() {
    return brancos0;
  }

  @Override
  String ajusteCnpjCedente() {
    return ajusteCnpjCedente;
  }

  @Override
  public Cnpj cnpjCedente() {
    return cnpjCedente;
  }

  @Override
  public TipoTitulo tipoTitulo() {
    return tipoTitulo;
  }

  @Override
  String reservado0() {
    return reservado0;
  }

  @Override
  String tipoNegocio() {
    return tipoNegocio;
  }

  @Override
  public TipoInformacao tipoInformacao() {
    return tipoInformacao;
  }

  @Override
  String tipoCarteira() {
    return tipoCarteira;
  }

  @Override
  String reservado1() {
    return reservado1;
  }

  @Override
  String reservado2() {
    return reservado2;
  }

  @Override
  String reservado3() {
    return reservado3;
  }

  @Override
  String reservado4() {
    return reservado4;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy