public Object nullSafeGet(final ResultSet resultSet, final String[] names, final SessionImplementor session, final Object owner) throws SQLException { BigDecimal amount = resultSet.getBigDecimal( names[0] ); if (resultSet.wasNull()) return null; String currency = resultSet.getString( names[1] ); return new Money(amount.doubleValue(), currency); }
@Override protected Object doRestore(final String data) { final String dataString = new String(data); final int pos = dataString.indexOf(' '); final String amount = dataString.substring(0, pos); final String currency = dataString.substring(pos + 1); return new Money(Double.valueOf(amount).doubleValue(), currency); }
@Override protected Object doRestore(final String data) { final String dataString = new String(data); final int pos = dataString.indexOf(' '); final String amount = dataString.substring(0, pos); final String currency = dataString.substring(pos + 1); return new Money(Double.valueOf(amount).doubleValue(), currency); }
public void testLongConstructorExpectsCurrencyToBeSpecified() { try { new Money(100L, null); fail(); } catch (IllegalArgumentException expected) {} }
public void testIsGreaterThanZero() { Money m1 = new Money(1, "usd"); assertTrue(m1.isGreaterThanZero()); }
@Hidden public void recalculateTotal() { Money runningTotal = new Money(0, currencyCode()); for (final ExpenseItem item : getExpenseItems()) { final Money itemAmount = item.requestedOrApprovedAmount(); if (itemAmount != null) { runningTotal = runningTotal.add(itemAmount); } } setTotal(runningTotal); }
@Hidden public Money requestedOrApprovedAmount() { if (isRejected() || isQueried()) { return new Money(0, getClaim().currencyCode()); } return getAmount(); }
public void modifyAmount(final Money newAmount) { if (newAmount != null) { // coerce currency to current currency setAmount(new Money(newAmount.doubleValue(), getClaim().currencyCode())); checkIfComplete(); recalculateClaimTotalIfPersistent(); } }
private void recalculateAmount() { Money newAmount = new Money(0, getClaim().currencyCode()); for (int i = 0; i < numberOfNights; i++) { newAmount = addIfNotNull(accommodation, newAmount); } newAmount = addIfNotNull(food, newAmount); newAmount = addIfNotNull(other, newAmount); modifyAmount(newAmount); }
@Override @Hidden public void initialiseAmount() { final Money zero = new Money(0.0, getClaim().currencyCode()); setAccommodation(zero); setFood(zero); setOther(zero); setAmount(zero); }