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

com.pablodomingos.classes.rps.builders.TomadorBuilder Maven / Gradle / Ivy

package com.pablodomingos.classes.rps.builders;

import com.pablodomingos.classes.rps.RpsTomador;
import com.pablodomingos.classes.rps.RpsTomadorContato;
import com.pablodomingos.classes.rps.RpsTomadorCpfCnpj;
import com.pablodomingos.classes.rps.RpsTomadorEndereco;
import com.pablodomingos.classes.rps.RpsTomadorIdentificacao;

public class TomadorBuilder extends AbstractBuilder {

  private RpsTomadorCpfCnpj cpfCnpj;
  RpsTomadorIdentificacao tomadorIdentificacao;
  private String inscricaoMunicipal;
  private String nome;
  private RpsTomadorContato contato;
  private RpsTomadorEndereco endereco;
  
  public TomadorBuilder(String documento) {
    this.cpfCnpj = new TomadorCpfCnpjBuilder()
          .comDocumento(documento).build();
  }

  public TomadorBuilder comInscricaoMunicipal(String inscricaoMunicipal) {
    this.inscricaoMunicipal = inscricaoMunicipal;
    return this;
  }

  public TomadorBuilder comNome(String nome) {
    this.nome = nome;
    return this;
  }

  public TomadorBuilder comContato(RpsTomadorContato contato) {
    this.contato = contato;
    return this;
  }
  
  public TomadorBuilder comEndereco(RpsTomadorEndereco endereco){
    this.endereco = endereco;
    return this;
  }
  
  public TomadorBuilder comEndereco(TomadorEnderecoBuilder endereco){
    this.endereco = new RpsTomadorEndereco(endereco);
    return this;
  }
  
  @Override
  protected RpsTomador buildInternal() {
    return new RpsTomador(this);
  }

  public RpsTomadorCpfCnpj getTomadorCpfCnpj() {
    return this.cpfCnpj;
  }

  public String getInscricaoMunicipal() {
    return inscricaoMunicipal;
  }

  public String getNome() {
    return nome;
  }
  
  public RpsTomadorContato getContato() {
    return contato;
  }

  public RpsTomadorEndereco getEndereco() {
    return endereco;
  }
  
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy