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