package gcom.cadastro.atualizacaocadastral;
import gcom.cadastro.atualizacaocadastral.bean.ConsultarMovimentoAtualizacaoCadastralHelper;
import gcom.seguranca.transacao.AlteracaoTipo;
import java.util.LinkedHashMap;
public class LinkedHashSetAlteracaoCadastral extends LinkedHashMap<Integer, ConsultarMovimentoAtualizacaoCadastralHelper> {
private static final long serialVersionUID = 2718222905198299673L;
public ConsultarMovimentoAtualizacaoCadastralHelper put(Integer idImovel, ConsultarMovimentoAtualizacaoCadastralHelper value) {
if (this.containsKey(idImovel)){
ConsultarMovimentoAtualizacaoCadastralHelper current = this.get(idImovel);
if (current.getIdTipoAlteracao().intValue() != value.getIdTipoAlteracao().intValue()){
current.setIdTipoAlteracao(precedenciaAlteracoes(current.getIdTipoAlteracao(), value.getIdTipoAlteracao()));
}
return current;
} else{
return super.put(idImovel, value);
}
}
private Integer precedenciaAlteracoes(int atual, int nova) {
if (nova == AlteracaoTipo.ALTERACAO)
return AlteracaoTipo.ALTERACAO;
if (atual == AlteracaoTipo.ALTERACAO)
return AlteracaoTipo.ALTERACAO;
if (nova == AlteracaoTipo.EXCLUSAO)
return AlteracaoTipo.EXCLUSAO;
if (atual == AlteracaoTipo.EXCLUSAO)
return AlteracaoTipo.EXCLUSAO;
return AlteracaoTipo.INCLUSAO;
}
}