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

br.com.objectos.cnab.TestingRemessaPojo Maven / Gradle / Ivy

The newest version!
package br.com.objectos.cnab;

import br.com.objectos.flat.FlatReader;
import br.com.objectos.flat.FlatReaderVisitor;
import br.com.objectos.flat.FlatWriter;
import br.com.objectos.flat.UnsupportedPrefixException;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Generated;

@Generated({
    "br.com.objectos.flat.FlatContainerPlugin",
    "br.com.objectos.pojo.compiler.PojoCompiler",
    "br.com.objectos.pojo.plugin.StandardPojoPropertyAction"
})
final class TestingRemessaPojo extends TestingRemessa {
  private final TestingRemessaHeader header;

  private final List cobrancaList;

  TestingRemessaPojo(TestingRemessaHeader header, List cobrancaList) {
    this.header = header;
    this.cobrancaList = cobrancaList;
  }

  public TestingRemessaPojo(TestingRemessaBuilderPojo builder) {
    super();
    header = builder.___get___header();
    cobrancaList = builder.___get___cobrancaList();
  }

  static TestingRemessa readFrom(FlatReader reader) {
    TestingRemessaFlatReaderVisitor visitor = new TestingRemessaFlatReaderVisitor();
    reader.accept(visitor);
    return visitor.build();
  }

  @Override
  public void writeTo(FlatWriter writer) {
    header.writeTo(writer);
    for (TestingCobranca e : cobrancaList) {
      e.writeTo(writer);
    }
  }

  @Override
  TestingRemessaHeader header() {
    return header;
  }

  @Override
  List cobrancaList() {
    return cobrancaList;
  }

  private static class TestingRemessaFlatReaderVisitor implements FlatReaderVisitor {
    private TestingRemessaHeader header;

    private List cobrancaList = new ArrayList<>();

    public TestingRemessa build() {
      return new TestingRemessaPojo(header, cobrancaList);
    }

    @Override
    public void visitLine(FlatReader reader) {
      String prefix = reader.peek(1);
      switch (prefix) {
        case "H":
        header = new TestingRemessaHeaderPojo(reader);
        break;
        case "C":
        cobrancaList.add(new TestingCobrancaPojo(reader));
        break;
        default:
        throw new UnsupportedPrefixException(prefix);
      }
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy