ref: master
src/org/porcellis/models/Imobiliaria.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
package org.porcellis.models; import java.util.List; import java.util.ArrayList; public class Imobiliaria implements Portfolio { private String razaoSocial; private String cnpj; private double previsaoDeFaturamento; private List<Imovel> imoveis; public Imobiliaria(String razaoSocial, String cnpj, double previsaoDeFaturamento) { this.razaoSocial = razaoSocial; this.cnpj = cnpj; this.previsaoDeFaturamento = previsaoDeFaturamento; this.imoveis = new ArrayList<Imovel>(); } public double previsaoITBI() { double previsaoITBI = 0.0; return getPrevisaoDeFaturamento() * getITBI(); } public void adicionaImovel(Imovel imovel) { imoveis.add(imovel); recalcularPrevisaoDeFaturamento(); } public void recalcularPrevisaoDeFaturamento() { double previsaoDeFaturamentoNova = 0.0; for (Imovel imovel : imoveis) { previsaoDeFaturamentoNova += imovel.precoFinal(); } System.out.println("Previsao faturamento: " + previsaoDeFaturamentoNova); setPrevisaoDeFaturamento(previsaoDeFaturamentoNova); } // XXX: Razão pela qual não gosto/faz sentido escrever código em português public List<Imovel> getImoveis() { return imoveis; } @Override public double getITBI() { return 0.0; // XXX: Implementado nas subclasses } public String getRazaoSocial() { return razaoSocial; } public String getCnpj() { return cnpj; } public double getPrevisaoDeFaturamento() { return previsaoDeFaturamento; } public void setRazaoSocial(String razaoSocial) { this.razaoSocial = razaoSocial; } public void setCnpj(String cnpj) { this.cnpj = cnpj; } public void setPrevisaoDeFaturamento(double previsaoDeFaturamento) { this.previsaoDeFaturamento = previsaoDeFaturamento; } public String toString() { return String.format( "Razão Social: %s\nCNPJ: %s\nPrevisão de Faturamento: %.2f", razaoSocial, cnpj, previsaoDeFaturamento ); } } |