reaproveitamento-poo-java

commit f768793e8026588608e4e0d76ddd732e5f2e2ccd

Author: Pedro Lucas Porcellis <porcellis@eletrotupi.com>

models: add endereço, casa, apartamento, imobiliarias

 src/org/porcellis/models/Apartamento.java | 24 ++++++
 src/org/porcellis/models/Casa.java | 24 ++++++
 src/org/porcellis/models/Endereco.java | 83 ++++++++++++++++++++++
 src/org/porcellis/models/Imobiliaria.java | 46 ++++++++++++
 src/org/porcellis/models/Imovel.java | 43 +++++++++++
 src/org/porcellis/models/Portfolio.java | 5 +
 src/org/porcellis/models/UnidadePelotas.java | 23 ++++++


diff --git a/src/org/porcellis/models/Apartamento.java b/src/org/porcellis/models/Apartamento.java
new file mode 100644
index 0000000000000000000000000000000000000000..6de51842e0cfeca04765b8a83af01b86eb1b1fba
--- /dev/null
+++ b/src/org/porcellis/models/Apartamento.java
@@ -0,0 +1,24 @@
+package org.porcellis.models;
+
+public class Apartamento extends Imovel {
+	private String nomeCondominio;
+
+	public Apartamento(Endereco endereco, double areaUtil, double precoCotacao, double
+			precoVenda, String nomeCondominio) {
+		super(endereco, areaUtil, precoCotacao, precoVenda);
+
+		this.nomeCondominio = nomeCondominio;
+	}
+
+	public String getNomeCondominio() {
+		return nomeCondominio;
+	}
+
+	public void setNomeCondominio(String nomeCondominio) {
+		this.nomeCondominio = nomeCondominio;
+	}
+
+	public String toString() {
+		return super.toString() + "\nNome do Condomínio: " + nomeCondominio;
+	}
+}




diff --git a/src/org/porcellis/models/Casa.java b/src/org/porcellis/models/Casa.java
new file mode 100644
index 0000000000000000000000000000000000000000..c340cbd141e3080a4ee30b21b174132878b02acf
--- /dev/null
+++ b/src/org/porcellis/models/Casa.java
@@ -0,0 +1,24 @@
+package org.porcellis.models;
+
+public class Casa extends Imovel {
+	private double tamanhoDoTerreno;
+
+	public Casa(Endereco endereco, double areaUtil, double precoCotacao, double
+			precoVenda, double tamanhoDoTerreno) {
+		super(endereco, areaUtil, precoCotacao, precoVenda);
+
+		this.tamanhoDoTerreno = tamanhoDoTerreno;
+	}
+
+	public double getTamanhoDoTerreno() {
+		return tamanhoDoTerreno;
+	}
+
+	public void setTamanhoDoTerreno(double tamanhoDoTerreno) {
+		this.tamanhoDoTerreno = tamanhoDoTerreno;
+	}
+
+	public String toString() {
+		return super.toString() + "\nTamanho do Terreno: " + tamanhoDoTerreno;
+	}
+}




diff --git a/src/org/porcellis/models/Endereco.java b/src/org/porcellis/models/Endereco.java
new file mode 100644
index 0000000000000000000000000000000000000000..11b2a0cb50cb4b28c968019ec94b9ca17208f8ec
--- /dev/null
+++ b/src/org/porcellis/models/Endereco.java
@@ -0,0 +1,83 @@
+package org.porcellis.models;
+
+public class Endereco {
+	// XXX: Não devia ser um enum?
+	private String tipoLogradouro;
+	private String logradouro;
+	private String bairro;
+	private String cidade;
+	private String estado;
+	private String cep;
+	private String complemento;
+
+	public Endereco(String tipoLogradouro, String logradouro, String bairro,
+			String cidade, String estado, String cep) {
+		this.tipoLogradouro = tipoLogradouro;
+		this.logradouro = logradouro;
+		this.bairro = bairro;
+		this.cidade = cidade;
+		this.estado = estado;
+		this.cep = cep;
+		this.complemento = "";
+	}
+
+	public String getTipoLogradouro() {
+		return tipoLogradouro;
+	}
+
+	public String getLogradouro() {
+		return logradouro;
+	}
+
+	public String getBairro() {
+		return bairro;
+	}
+
+	public String getCidade() {
+		return cidade;
+	}
+
+	public String getEstado() {
+		return estado;
+	}
+
+	public String getCep() {
+		return cep;
+	}
+
+	public String getComplemento() {
+		return complemento;
+	}
+
+	public void setTipoLogradouro(String tipoLogradouro) {
+		this.tipoLogradouro = tipoLogradouro;
+	}
+
+	public void setLogradouro(String logradouro) {
+		this.logradouro = logradouro;
+	}
+
+	public void setBairro(String bairro) {
+		this.bairro = bairro;
+	}
+
+	public void setCidade(String cidade) {
+		this.cidade = cidade;
+	}
+
+	public void setEstado(String estado) {
+		this.estado = estado;
+	}
+
+	public void setCep(String cep) {
+		this.cep = cep;
+	}
+
+	public void setComplemento(String complemento) {
+		this.complemento = complemento;
+	}
+
+	public String toString() {
+		return "Logradouro: " + logradouro + "\nBairro: " + bairro + "\nCidade: " + cidade + "\nEstado: " + estado + "\nCEP: " + cep;
+	}
+}




diff --git a/src/org/porcellis/models/Imobiliaria.java b/src/org/porcellis/models/Imobiliaria.java
new file mode 100644
index 0000000000000000000000000000000000000000..92c31c5826bede14f410f6e20e36353887e49b78
--- /dev/null
+++ b/src/org/porcellis/models/Imobiliaria.java
@@ -0,0 +1,46 @@
+package org.porcellis.models;
+
+public class Imobiliaria implements Portfolio {
+	private String razaoSocial;
+	private String cnpj;
+	private double previsaoFaturamento;
+
+	public Imobiliaria(String razaoSocial, String cnpj) {
+		this.razaoSocial = razaoSocial;
+		this.cnpj = cnpj;
+		this.previsaoFaturamento = 0;
+	}
+
+	@Override
+	public double getITBI() {
+		return previsaoFaturamento * 0.02;
+	}
+
+	public String getRazaoSocial() {
+		return razaoSocial;
+	}
+
+	public String getCnpj() {
+		return cnpj;
+	}
+
+	public double getPrevisaoFaturamento() {
+		return previsaoFaturamento;
+	}
+
+	public void setRazaoSocial(String razaoSocial) {
+		this.razaoSocial = razaoSocial;
+	}
+
+	public void setCnpj(String cnpj) {
+		this.cnpj = cnpj;
+	}
+
+	public void setPrevisaoFaturamento(double previsaoFaturamento) {
+		this.previsaoFaturamento = previsaoFaturamento;
+	}
+
+	public String toString() {
+		return "Razão Social: " + razaoSocial + "\nCNPJ: " + cnpj + "\nPrevisão de Faturamento: " + previsaoFaturamento;
+	}
+}




diff --git a/src/org/porcellis/models/Imovel.java b/src/org/porcellis/models/Imovel.java
new file mode 100644
index 0000000000000000000000000000000000000000..c546ad2ba112bddc6c3d23bb87c0386f9a7dc5a8
--- /dev/null
+++ b/src/org/porcellis/models/Imovel.java
@@ -0,0 +1,43 @@
+package org.porcellis.models;
+
+import org.porcellis.models.Endereco;
+import org.porcellis.models.Portfolio;
+
+public class Imovel implements Portfolio {
+	private Endereco endereco;
+	private double precoCotacao;
+	private double precoVenda;
+	private double areaUtil;
+
+	public Imovel(Endereco endereco, double areaUtil, double precoCotacao, double precoVenda) {
+		this.endereco = endereco;
+		this.precoCotacao = precoCotacao;
+		this.precoVenda = precoVenda;
+		this.areaUtil = areaUtil;
+	}
+
+	@Override
+	public double getITBI() {
+		return precoVenda * 0.02;
+	}
+
+	public Endereco getEndereco() {
+		return endereco;
+	}
+
+	public double getPrecoCotacao() {
+		return precoCotacao;
+	}
+
+	public void setEndereco(Endereco endereco) {
+		this.endereco = endereco;
+	}
+
+	public void setPrecoCotacao(double preco) {
+		this.precoCotacao = preco;
+	}
+
+	public String toString() {
+		return "Endereço: " + endereco + "\nPreço: " + precoCotacao;
+	}
+}




diff --git a/src/org/porcellis/models/Portfolio.java b/src/org/porcellis/models/Portfolio.java
new file mode 100644
index 0000000000000000000000000000000000000000..178ed72da89f7af1d77e5cb2dcf6c21a04881907
--- /dev/null
+++ b/src/org/porcellis/models/Portfolio.java
@@ -0,0 +1,5 @@
+package org.porcellis.models;
+
+public interface Portfolio {
+	double getITBI();
+}




diff --git a/src/org/porcellis/models/UnidadePelotas.java b/src/org/porcellis/models/UnidadePelotas.java
new file mode 100644
index 0000000000000000000000000000000000000000..343976f84fdc3a1dc095c1ae9d58718cc465511a
--- /dev/null
+++ b/src/org/porcellis/models/UnidadePelotas.java
@@ -0,0 +1,23 @@
+package org.porcellis.models;
+
+public class UnidadePelotas extends Imobiliaria {
+	private double taxaComissao;
+
+	public UnidadePelotas(String razaoSocial, String cnpj, double taxaComissao) {
+		super(razaoSocial, cnpj);
+
+		this.taxaComissao = taxaComissao;
+	}
+
+	public double getTaxaComissao() {
+		return taxaComissao;
+	}
+
+	public void setTaxaComissao(double taxaComissao) {
+		this.taxaComissao = taxaComissao;
+	}
+
+	public String toString() {
+		return super.toString() + "\nTaxa de Comissão: " + taxaComissao;
+	}
+}