package gcom.cadastro.imovel; import gcom.interceptor.ControleAlteracao; import gcom.interceptor.ObjetoTransacao; import gcom.util.filtro.Filtro; import gcom.util.filtro.ParametroSimples; import java.util.Date; import java.util.Set; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.ToStringBuilder; @ControleAlteracao() public class ImovelSubcategoria extends ObjetoTransacao implements IImovelSubcategoria { private static final long serialVersionUID = 1L; private gcom.cadastro.imovel.ImovelSubcategoriaPK comp_id; @ControleAlteracao(funcionalidade={Imovel.ATRIBUTOS_IMOVEL_INSERIR, Imovel.ATRIBUTOS_IMOVEL_ATUALIZAR,Imovel.ATRIBUTOS_IMOVEL_REMOVER,Imovel.OPERACAO_ATUALIZAR_DADOS_IMOVEL_ATUALIZACAO_CADASTRAL}) private short quantidadeEconomias; private Short quantidadeUnidadesPrivativas; private Short quantidadeUnidadesColetivas; private Date ultimaAlteracao; private Set imovelEconomias; public ImovelSubcategoria() { } public ImovelSubcategoria(ImovelSubcategoriaPK comp_id) { this.comp_id = comp_id; } public ImovelSubcategoria(ImovelSubcategoriaPK comp_id, short quantidadeEconomias, Date ultimaAlteracao) { this.comp_id = comp_id; this.quantidadeEconomias = quantidadeEconomias; this.ultimaAlteracao = ultimaAlteracao; } public ImovelSubcategoria(ImovelSubcategoriaPK comp_id, short quantidadeEconomias) { this.comp_id = comp_id; this.quantidadeEconomias = quantidadeEconomias; } public ImovelSubcategoria(ImovelSubcategoriaPK comp_id, short quantidadeEconomias, Short quantidadeUnidadesPrivativas, Short quantidadeUnidadesColetivas, Date ultimaAlteracao) { this.comp_id = comp_id; this.quantidadeEconomias = quantidadeEconomias; this.quantidadeUnidadesPrivativas = quantidadeUnidadesPrivativas; this.quantidadeUnidadesColetivas = quantidadeUnidadesColetivas; this.ultimaAlteracao = ultimaAlteracao; } public gcom.cadastro.imovel.ImovelSubcategoriaPK getComp_id() { return this.comp_id; } public void setComp_id(gcom.cadastro.imovel.ImovelSubcategoriaPK comp_id) { this.comp_id = comp_id; } public short getQuantidadeEconomias() { return this.quantidadeEconomias; } public void setQuantidadeEconomias(short quantidadeEconomias) { this.quantidadeEconomias = quantidadeEconomias; } public Date getUltimaAlteracao() { return this.ultimaAlteracao; } public void setUltimaAlteracao(Date ultimaAlteracao) { this.ultimaAlteracao = ultimaAlteracao; } public String toString() { return new ToStringBuilder(this).append("comp_id", getComp_id()).toString(); } public boolean equals(Object other) { if ((this == other)) { return true; } if (!(other instanceof ImovelSubcategoria)) { return false; } ImovelSubcategoria castOther = (ImovelSubcategoria) other; return new EqualsBuilder().append(this.getComp_id(), castOther.getComp_id()).isEquals(); } public int hashCode() { return this.ultimaAlteracao.hashCode(); } public Set getImovelEconomias() { return imovelEconomias; } public void setImovelEconomias(Set imovelEconomias) { this.imovelEconomias = imovelEconomias; } public String[] retornaCamposChavePrimaria(){ String[] retorno = {"comp_id"}; return retorno; } public Filtro retornaFiltro(){ Filtro filtro = new FiltroImovelSubCategoria(); filtro.adicionarCaminhoParaCarregamentoEntidade(FiltroImovelSubCategoria.SUBCATEGORIA_CATEGORIA); filtro.adicionarCaminhoParaCarregamentoEntidade(FiltroImovelSubCategoria.SUBCATEGORIA); filtro.adicionarParametro(new ParametroSimples(FiltroImovelSubCategoria.IMOVEL_ID, this.getComp_id().getImovel().getId())); filtro.adicionarParametro(new ParametroSimples(FiltroImovelSubCategoria.SUBCATEGORIA_ID, this.getComp_id().getSubcategoria().getId())); return filtro; } public void initializeLazy(){ if (this.getComp_id() != null){ if(getComp_id().getSubcategoria() != null){ getComp_id().getSubcategoria().initializeLazy(); } getDescricaoParaRegistroTransacao(); } } public String getDescricaoParaRegistroTransacao(){ if (this.getComp_id() != null && this.getComp_id().getSubcategoria() != null && this.getComp_id().getSubcategoria().getCategoria() != null){ return this.getComp_id().getSubcategoria().getCategoria().getDescricao() + " / " + this.getComp_id().getSubcategoria().getDescricao(); } else { return ""; } } public Short getQuantidadeUnidadesColetivas() { return quantidadeUnidadesColetivas; } public void setQuantidadeUnidadesColetivas(Short quantidadeUnidadesColetivas) { this.quantidadeUnidadesColetivas = quantidadeUnidadesColetivas; } public Short getQuantidadeUnidadesPrivativas() { return quantidadeUnidadesPrivativas; } public void setQuantidadeUnidadesPrivativas(Short quantidadeUnidadesPrivativas) { this.quantidadeUnidadesPrivativas = quantidadeUnidadesPrivativas; } public Imovel getImovel() { return (comp_id != null) ? comp_id.getImovel() : null; } public void setImovel(Imovel imovel) { if (this.comp_id == null){ this.comp_id = new ImovelSubcategoriaPK(); } this.comp_id.setImovel(imovel); } public Subcategoria getSubcategoria() { return (comp_id != null) ? comp_id.getSubcategoria() : null; } public void setSubcategoria(Subcategoria subcategoria) { if (this.comp_id == null){ this.comp_id = new ImovelSubcategoriaPK(); } this.comp_id.setSubcategoria(subcategoria); } }