/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package banco_imobiliario.control;
import banco_imobiliario.AbstractFactoryLogradouro.LogradouroLucrosOuDividendosFactory;
import banco_imobiliario.AbstractFactoryLogradouro.LogradouroImpostoDeRendaFactory;
import banco_imobiliario.AbstractFactoryLogradouro.EmpresaFactory;
import banco_imobiliario.AbstractFactoryLogradouro.LogradouroPartidaFactory;
import banco_imobiliario.AbstractFactoryLogradouro.ImovelFactory;
import banco_imobiliario.AbstractFactoryLogradouro.LogradouroNoticiaFactory;
import banco_imobiliario.AbstractFactoryLogradouro.LogradouroVaParaPrisaoFactory;
import banco_imobiliario.AbstractFactoryLogradouro.LogradouroPrisaoFactory;
import banco_imobiliario.AbstractFactoryLogradouro.LogradouroParadaLivreFactory;
import banco_imobiliario.model.*;
/**
*
* @author Andre
*/
public class DiretorIniciadorDeTabuleiro {
public Tabuleiro criarTabuleiro() {
TabuleiroContrutorCircularConcreteBuilder tabuleiroConntrutor = new TabuleiroContrutorCircularConcreteBuilder();
//Criando as Fabricas
LogradouroPartidaFactory partidaFac = new LogradouroPartidaFactory();
ImovelFactory imovelFac = new ImovelFactory();
EmpresaFactory empresaFac = new EmpresaFactory();
LogradouroNoticiaFactory noticiaFac = new LogradouroNoticiaFactory();
LogradouroPrisaoFactory prisaoFac = new LogradouroPrisaoFactory();
LogradouroImpostoDeRendaFactory impostoDeRendaFac = new LogradouroImpostoDeRendaFactory();
LogradouroLucrosOuDividendosFactory lucrosOuDividandosFac = new LogradouroLucrosOuDividendosFactory();
LogradouroVaParaPrisaoFactory vaParaPrisaoFac = new LogradouroVaParaPrisaoFactory();
LogradouroParadaLivreFactory paradLivreFac = new LogradouroParadaLivreFactory();
//Adicionando Logradouros ao tabuleiro
tabuleiroConntrutor.adicionar(partidaFac.criarLogradouro(1));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(2));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(3));
tabuleiroConntrutor.adicionar(empresaFac.criarLogradouro(4));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(5));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(6));
tabuleiroConntrutor.adicionar(noticiaFac.criarLogradouro(7));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(8));
tabuleiroConntrutor.adicionar(empresaFac.criarLogradouro(9));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(10));
tabuleiroConntrutor.adicionar(prisaoFac.criarLogradouro(11));
tabuleiroConntrutor.adicionar(noticiaFac.criarLogradouro(12));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(13));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(14));
tabuleiroConntrutor.adicionar(empresaFac.criarLogradouro(15));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(16));
tabuleiroConntrutor.adicionar(lucrosOuDividandosFac.criarLogradouro(17));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(18));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(19));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(20));
tabuleiroConntrutor.adicionar(paradLivreFac.criarLogradouro(21));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(22));
tabuleiroConntrutor.adicionar(empresaFac.criarLogradouro(23));
tabuleiroConntrutor.adicionar(impostoDeRendaFac.criarLogradouro(24));
tabuleiroConntrutor.adicionar(noticiaFac.criarLogradouro(25));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(26));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(27));
tabuleiroConntrutor.adicionar(noticiaFac.criarLogradouro(28));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(29));
tabuleiroConntrutor.adicionar(empresaFac.criarLogradouro(30));
tabuleiroConntrutor.adicionar(vaParaPrisaoFac.criarLogradouro(31));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(32));
tabuleiroConntrutor.adicionar(noticiaFac.criarLogradouro(33));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(34));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(35));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(36));
tabuleiroConntrutor.adicionar(empresaFac.criarLogradouro(37));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(38));
tabuleiroConntrutor.adicionar(noticiaFac.criarLogradouro(39));
tabuleiroConntrutor.adicionar(imovelFac.criarLogradouro(40));
Tabuleiro tabuleiro = tabuleiroConntrutor.retornarTabuleiro();
// System.out.println("Imprimeindo dentro do diretor: "+tabuleiro.toString());
return tabuleiro;
}
}