2 package org.apidesign.apifest08.currency;
4 import java.math.BigDecimal;
7 * Exchange rate value. Contains <code>from</code> and <code>to</code> value.
9 * @author arnostvalicek
11 public class ExchangeRate {
12 private BigDecimal numberFor;
13 private BigDecimal numberGet;
16 * Constructor for new exchange rate holding two values - <em>from value</em> and <em>to value</em>
17 * @param fromValue Exchange rate <em>from value</em>
18 * @param toValue Exchange rate <em>to value</em>
20 public ExchangeRate(BigDecimal fromValue, BigDecimal toValue) {
21 this.numberFor = fromValue;
22 this.numberGet = toValue;
26 * Create new instance of <code>ExchangeRate</code> based on provided exchange rate, but swapping its
27 * <em>from</em> and <em>to</em> value.
29 * Provided exchange rate is not chaged, this method returns different instance describing reverted exchange rate.
31 * @param rate Exchange rate which describes rate to be reverted.
32 * @return Instance of reverted rate.
34 public static ExchangeRate createRevertedRate(ExchangeRate rate) {
35 ExchangeRate reverted = new ExchangeRate(rate.getToValue(), rate.getFromValue());
40 public String toString() {
41 return "for "+numberFor+" recieve "+numberGet+" @"+getClass().getName();
45 * Return exchange rate <em>from</em> value stored in this object.
46 * @return Returns <em>from</em> value for this exchange rate.
48 public BigDecimal getFromValue() {
53 * Return exchange rate <em>to</em> value stored in this object.
54 * @return Returns <em>to</em> value for this exchange rate.
56 public BigDecimal getToValue() {
61 // public ExchangeRate createExchangeRate(BigDecimal forValue, BigDecimal getValue) {
62 // ExchangeRate rate = new ExchangeRate(forValue, getValue);