package gcom.gerencial.arrecadacao.bean;
import java.math.BigDecimal;
/**
* Classe bean para agrupamento dos historicos
* de consumo com as quebras solicitadas
*
* @author Ivan S�rgio
* @date 16/05/2007
*/
public class ResumoArrecadacaoCreditoHelper {
private Integer idCreditoOrigem;
private Integer idLancamentoItemContabil;
private BigDecimal valorCredito = new BigDecimal(0);
public ResumoArrecadacaoCreditoHelper(Integer idCreditoOrigem, Integer idLancamentoItemContabil) {
this.idCreditoOrigem = idCreditoOrigem;
this.idLancamentoItemContabil = idLancamentoItemContabil;
}
public Integer getIdCreditoOrigem() {
return idCreditoOrigem;
}
public void setIdCreditoOrigem(Integer idCreditoOrigem) {
this.idCreditoOrigem = idCreditoOrigem;
}
public Integer getidLancamentoItemContabil() {
return idLancamentoItemContabil;
}
public void setidLancamentoItemContabil(Integer idLancamentoItemContabil) {
this.idLancamentoItemContabil = idLancamentoItemContabil;
}
public BigDecimal getValorCredito() {
return valorCredito;
}
public void setValorCredito(BigDecimal valorCredito) {
this.valorCredito = valorCredito;
}
/**
* Compara duas properiedades inteiras, comparando
* seus valores para descobrirmos se sao iguais
* @param pro1 Primeira propriedade
* @param pro2 Segunda propriedade
* @return Se iguais, retorna true
*/
private boolean propriedadesIguais( Integer pro1, Integer pro2 ){
if ( pro2 != null ){
if ( !pro2.equals( pro1 ) ){
return false;
}
} else if ( pro1 != null ){
return false;
}
// Se chegou ate aqui quer dizer que as propriedades sao iguais
return true;
}
/**
* Compara dois objetos levando em consideracao apenas as propriedades
* que identificam o agrupamento
*
* @param obj Objeto a ser comparado com a instancia deste objeto
*/
public boolean equals(Object obj){
if (!(obj instanceof ResumoArrecadacaoCreditoHelper)){
return false;
} else {
ResumoArrecadacaoCreditoHelper resumoTemp = (ResumoArrecadacaoCreditoHelper) obj;
// Verificamos se todas as propriedades que identificam o objeto sao iguais
return
propriedadesIguais(this.idCreditoOrigem, resumoTemp.idCreditoOrigem) &&
propriedadesIguais(this.idLancamentoItemContabil, resumoTemp.idLancamentoItemContabil);
}
}
}