package gcom.cadastro.cliente; import gcom.atualizacaocadastral.IClienteImovel; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.tarifasocial.TarifaSocialDadoEconomia; import gcom.interceptor.ControleAlteracao; import gcom.interceptor.ObjetoTransacao; import gcom.util.ConstantesSistema; import gcom.util.filtro.Filtro; import gcom.util.filtro.ParametroNulo; import gcom.util.filtro.ParametroSimples; import java.util.Date; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; /** @author Hibernate CodeGenerator */ @ControleAlteracao() public class ClienteImovel extends ObjetoTransacao implements IClienteImovel { private static final long serialVersionUID = 1L; /** identifier field */ private Integer id; /** persistent field */ @ControleAlteracao(funcionalidade={Imovel.ATRIBUTOS_IMOVEL_ATUALIZAR,Imovel.ATRIBUTOS_IMOVEL_REMOVER, TarifaSocialDadoEconomia.ATRIBUTOS_MANTER_TARIFA_SOCIAL, Cliente.ATRIBUTOS_CLIENTE_ATUALIZAR,Cliente.OPERACAO_ATUALIZAR_DADOS_IMOVEL_ATUALIZACAO_CADASTRAL}) private Date dataInicioRelacao; /** nullable persistent field */ @ControleAlteracao(funcionalidade={Imovel.ATRIBUTOS_IMOVEL_ATUALIZAR,Imovel.ATRIBUTOS_IMOVEL_REMOVER, TarifaSocialDadoEconomia.ATRIBUTOS_MANTER_TARIFA_SOCIAL, Cliente.ATRIBUTOS_CLIENTE_ATUALIZAR,Cliente.OPERACAO_ATUALIZAR_DADOS_IMOVEL_ATUALIZACAO_CADASTRAL}) private Date dataFimRelacao; /** nullable persistent field */ private Date ultimaAlteracao; /** persistent field */ private Imovel imovel; /** * persistent field */ @ControleAlteracao(funcionalidade={Imovel.ATRIBUTOS_IMOVEL_ATUALIZAR,Imovel.ATRIBUTOS_IMOVEL_REMOVER, Cliente.ATRIBUTOS_CLIENTE_ATUALIZAR,Cliente.OPERACAO_ATUALIZAR_DADOS_IMOVEL_ATUALIZACAO_CADASTRAL}) private Short indicadorNomeConta; /** persistent field */ @ControleAlteracao(value=FiltroClienteImovel.CLIENTE_IMOVEL_FIM_RELACAO_MOTIVO, funcionalidade={Imovel.ATRIBUTOS_IMOVEL_ATUALIZAR,Imovel.ATRIBUTOS_IMOVEL_REMOVER, TarifaSocialDadoEconomia.ATRIBUTOS_MANTER_TARIFA_SOCIAL, Cliente.ATRIBUTOS_CLIENTE_ATUALIZAR,Cliente.OPERACAO_ATUALIZAR_DADOS_IMOVEL_ATUALIZACAO_CADASTRAL}) private gcom.cadastro.cliente.ClienteImovelFimRelacaoMotivo clienteImovelFimRelacaoMotivo; /** persistent field */ private gcom.cadastro.cliente.Cliente cliente; /** persistent field */ private gcom.cadastro.cliente.ClienteRelacaoTipo clienteRelacaoTipo; /** full constructor */ public ClienteImovel( Date dataInicioRelacao, Date dataFimRelacao, Date ultimaAlteracao, Imovel imovel, gcom.cadastro.cliente.ClienteImovelFimRelacaoMotivo clienteImovelFimRelacaoMotivo, gcom.cadastro.cliente.Cliente cliente, gcom.cadastro.cliente.ClienteRelacaoTipo clienteRelacaoTipo) { this.dataInicioRelacao = dataInicioRelacao; this.dataFimRelacao = dataFimRelacao; this.ultimaAlteracao = ultimaAlteracao; this.imovel = imovel; this.clienteImovelFimRelacaoMotivo = clienteImovelFimRelacaoMotivo; this.cliente = cliente; this.clienteRelacaoTipo = clienteRelacaoTipo; } /** default constructor */ public ClienteImovel() { } /** minimal constructor */ public ClienteImovel( Date dataInicioRelacao, Imovel imovel, gcom.cadastro.cliente.ClienteImovelFimRelacaoMotivo clienteImovelFimRelacaoMotivo, gcom.cadastro.cliente.Cliente cliente, gcom.cadastro.cliente.ClienteRelacaoTipo clienteRelacaoTipo) { this.dataInicioRelacao = dataInicioRelacao; this.imovel = imovel; this.clienteImovelFimRelacaoMotivo = clienteImovelFimRelacaoMotivo; this.cliente = cliente; this.clienteRelacaoTipo = clienteRelacaoTipo; } public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public Date getDataInicioRelacao() { return this.dataInicioRelacao; } public void setDataInicioRelacao(Date dataInicioRelacao) { this.dataInicioRelacao = dataInicioRelacao; } public Date getDataFimRelacao() { return this.dataFimRelacao; } public void setDataFimRelacao(Date dataFimRelacao) { this.dataFimRelacao = dataFimRelacao; } public Date getUltimaAlteracao() { return this.ultimaAlteracao; } public void setUltimaAlteracao(Date ultimaAlteracao) { this.ultimaAlteracao = ultimaAlteracao; } public Imovel getImovel() { return this.imovel; } public void setImovel(Imovel imovel) { this.imovel = imovel; } public gcom.cadastro.cliente.ClienteImovelFimRelacaoMotivo getClienteImovelFimRelacaoMotivo() { return this.clienteImovelFimRelacaoMotivo; } public void setClienteImovelFimRelacaoMotivo( gcom.cadastro.cliente.ClienteImovelFimRelacaoMotivo clienteImovelFimRelacaoMotivo) { this.clienteImovelFimRelacaoMotivo = clienteImovelFimRelacaoMotivo; } public gcom.cadastro.cliente.Cliente getCliente() { return this.cliente; } public void setCliente(gcom.cadastro.cliente.Cliente cliente) { this.cliente = cliente; } public gcom.cadastro.cliente.ClienteRelacaoTipo getClienteRelacaoTipo() { return this.clienteRelacaoTipo; } public void setClienteRelacaoTipo( gcom.cadastro.cliente.ClienteRelacaoTipo clienteRelacaoTipo) { this.clienteRelacaoTipo = clienteRelacaoTipo; } public String toString() { return new ToStringBuilder(this).append("id", getId()).toString(); } public boolean equals(Object other) { if ((this == other)) { return true; } if (!(other instanceof ClienteImovel)) { return false; } ClienteImovel castOther = (ClienteImovel) other; return ((this.getCliente().getId().equals(castOther.getCliente() .getId())) && (this.getClienteRelacaoTipo().getId().equals(castOther .getClienteRelacaoTipo().getId())) && (this.getImovel() != null ? this .getImovel().getId().equals(castOther.getImovel().getId()) : true) && (this.getDataInicioRelacao().equals(castOther.getDataInicioRelacao()))); } /** * Description of the Method * * @return Description of the Return Value */ public int hashCode() { return new HashCodeBuilder().append(getCliente()).append( getClienteRelacaoTipo()).append(getDataInicioRelacao()).append( getUltimaAlteracao()).toHashCode(); } public Short getIndicadorNomeConta() { return indicadorNomeConta; } public void setIndicadorNomeConta(Short indicadorNomeConta) { this.indicadorNomeConta = indicadorNomeConta; } public Filtro retornaFiltro() { FiltroClienteImovel filtroClienteImovel = new FiltroClienteImovel(); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.ID, this.getId())); filtroClienteImovel .adicionarCaminhoParaCarregamentoEntidade("clienteImovelFimRelacaoMotivo"); filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade("cliente"); filtroClienteImovel .adicionarCaminhoParaCarregamentoEntidade("clienteRelacaoTipo"); return filtroClienteImovel; } public String[] retornaCamposChavePrimaria() { String[] retorno = { "id" }; return retorno; } @Override public void initializeLazy() { getCliente(); if (getClienteRelacaoTipo() != null) { getClienteRelacaoTipo().initializeLazy(); } if (getClienteImovelFimRelacaoMotivo() != null){ getClienteImovelFimRelacaoMotivo().initializeLazy(); } } @Override public Filtro retornaFiltroRegistroOperacao() { Filtro filtro = super.retornaFiltroRegistroOperacao(); filtro .adicionarCaminhoParaCarregamentoEntidade(FiltroClienteImovel.IMOVEL); filtro .adicionarCaminhoParaCarregamentoEntidade(FiltroClienteImovel.CLIENTE_IMOVEL_FIM_RELACAO_MOTIVO); filtro.adicionarParametro(new ParametroNulo(FiltroClienteImovel.DATA_FIM_RELACAO)); return filtro; } public String getDescricao(){ String ret = ""; if (getCliente() != null){ ret = getCliente().getNome(); } return ret; } @Override public String getDescricaoParaRegistroTransacao() { return this.getDescricao() + " (" + this.getClienteRelacaoTipo().getDescricao() + ")"; } public boolean isClienteUsuario() { return this.clienteRelacaoTipo.getId().shortValue() == ClienteRelacaoTipo.USUARIO.shortValue(); } public boolean isClienteResponsavel() { return this.clienteRelacaoTipo.getId().shortValue() == ClienteRelacaoTipo.RESPONSAVEL.shortValue(); } public boolean isClienteProprietario() { return this.clienteRelacaoTipo.getId().shortValue() == ClienteRelacaoTipo.PROPRIETARIO.shortValue(); } }