MoneyDTO.java
package com.tradecloud.dto.treasury;
import com.tradecloud.domain.base.utils.MathUtils;
import com.tradecloud.domain.common.Currency;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* Created by ds on 9/23/14.
*/
public class MoneyDTO implements Serializable{
private Currency currency;
BigDecimal value;
public MoneyDTO(Currency currency, BigDecimal value) {
this.currency = currency;
this.value = value;
}
public MoneyDTO() {
}
public BigDecimal getValue() {
return value;
}
public void setValue(BigDecimal value) {
this.value = value;
}
public Currency getCurrency() {
return currency;
}
public void setCurrency(Currency currency) {
this.currency = currency;
}
@Override
public String toString() {
return "MoneyDTO{" +
"currency=" + currency +
", value=" + value +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof MoneyDTO)) return false;
MoneyDTO moneyDTO = (MoneyDTO) o;
if (currency != null ? !currency.equals(moneyDTO.currency) : moneyDTO.currency != null) return false;
if (value != null ? !value.equals(moneyDTO.value) : moneyDTO.value != null) return false;
return true;
}
@Override
public int hashCode() {
int result = currency != null ? currency.hashCode() : 0;
result = 31 * result + (value != null ? value.hashCode() : 0);
return result;
}
public MoneyDTO duplicate() {
return new MoneyDTO(currency, value.add(BigDecimal.ZERO));
}
//we show less decimals places, on the screen.
public void setRoundedAmountValue(BigDecimal newValue) {
if (newValue != null && !MathUtils.areNumbersCloselyEqual(value, newValue, 2)) {
value = newValue;
}
if(newValue==null){
value = newValue;
}
}
public BigDecimal getRoundedAmountValue(){
return value;
}
}