package com.rjconsultores.ventaboletos; import java.util.List; import com.rjconsultores.ventaboletos.blocos.CabecalhoRemessa; import com.rjconsultores.ventaboletos.blocos.DetalheObrigatorio; import com.rjconsultores.ventaboletos.blocos.RodapeRemessa; import com.rjconsultores.ventaboletos.blocos.RodapeRemessaPadrao; public abstract class ArquivoRemessaItem implements ArquivoRemessaItemInteface, Cloneable{ protected CabecalhoRemessa cabecalhoRemessa; protected List titulos; protected RodapeRemessa rodapeRemessa; public CabecalhoRemessa getCabecalhoRemessa() { return cabecalhoRemessa; } public void setCabecalhoRemessa(CabecalhoRemessa cabecalhoRemessa) { this.cabecalhoRemessa = cabecalhoRemessa; } public List getTitulos() { return titulos; } public RodapeRemessa getRodapeRemessa() { this.rodapeRemessa = this.rodapeRemessa == null ? new RodapeRemessaPadrao() : this.rodapeRemessa; rodapeRemessa.setNumeroSequencialRegistro(titulos.size() + 1); return rodapeRemessa; } public void setRodapeRemessa(RodapeRemessa rodapeRemessa) { this.rodapeRemessa = rodapeRemessa == null ? new RodapeRemessaPadrao() : rodapeRemessa; } public abstract void addTitulo(DetalheObrigatorio titulo); public ArquivoRemessaItemInteface clone() throws CloneNotSupportedException { return (ArquivoRemessaItemInteface) super.clone(); } }