package gcom.cadastro.imovel; import java.util.Date; import org.apache.commons.lang.builder.EqualsBuilder; import gcom.atualizacaocadastral.IImovelRamoAtividade; import gcom.cadastro.cliente.RamoAtividade; import gcom.interceptor.ObjetoTransacao; import gcom.util.filtro.Filtro; import gcom.util.filtro.ParametroSimples; public class ImovelRamoAtividade extends ObjetoTransacao implements IImovelRamoAtividade { private static final long serialVersionUID = 1L; private ImovelRamoAtividadePK comp_id; private Date ultimaAlteracao; public ImovelRamoAtividade() { } public ImovelRamoAtividade(int idImovel, int idRamoAtividade) { this.comp_id = new ImovelRamoAtividadePK(idImovel, idRamoAtividade); } public ImovelRamoAtividade(ImovelRamoAtividadePK comp_id, Date ultimaAlteracao) { this.comp_id = comp_id; this.ultimaAlteracao = ultimaAlteracao; } public ImovelRamoAtividadePK getComp_id() { return comp_id; } public void setComp_id(ImovelRamoAtividadePK comp_id) { this.comp_id = comp_id; } public Date getUltimaAlteracao() { return ultimaAlteracao; } public void setUltimaAlteracao(Date ultimaAlteracao) { this.ultimaAlteracao = ultimaAlteracao; } @Override public Filtro retornaFiltro() { Filtro filtro = new FiltroImovelRamoAtividade(); filtro.adicionarCaminhoParaCarregamentoEntidade(FiltroImovelRamoAtividade.RAMO_ATIVIDADE); filtro.adicionarParametro( new ParametroSimples(FiltroImovelRamoAtividade.IMOVEL_ID, this.getComp_id().getImovel().getId())); filtro.adicionarParametro( new ParametroSimples(FiltroImovelSubCategoria.SUBCATEGORIA_ID, this.getComp_id().getRamo_atividade().getId())); return filtro; } @Override public String[] retornaCamposChavePrimaria() { String[] retorno = {"comp_id"}; return retorno; } public boolean equals(Object other) { if ((this == other)) { return true; } if (!(other instanceof ImovelSubcategoria)) { return false; } ImovelRamoAtividade castOther = (ImovelRamoAtividade) other; // return // ((this.getComp_id().getSubcategoria().getId().equals(castOther.getComp_id().getSubcategoria().getId())) // && // (this.getComp_id().getSubcategoria().getCategoria().getId().equals(castOther.getComp_id().getSubcategoria().getCategoria().getId()))); return new EqualsBuilder().append(this.getComp_id(), castOther.getComp_id()).isEquals(); } /** * Description of the Method * * @return Description of the Return Value */ public int hashCode() { return this.ultimaAlteracao.hashCode(); } public Imovel getImovel() { return (comp_id != null) ? comp_id.getImovel(): null; } public void setImovel(Imovel imovel) { if (comp_id == null){ comp_id = new ImovelRamoAtividadePK(); } comp_id.setImovel(imovel); } public RamoAtividade getRamoAtividade() { return (comp_id != null) ? comp_id.getRamo_atividade(): null; } public void setRamoAtividade(RamoAtividade ramoAtividade) { if (comp_id == null){ comp_id = new ImovelRamoAtividadePK(); } comp_id.setRamo_atividade(ramoAtividade); } }