task2/solution10/src/org/apidesign/apifest08/currency/ConstantRateConverter.java
changeset 42 2c8c32ad44f7
parent 41 a7e6f84fb078
child 44 6a500cd1e467
     1.1 --- a/task2/solution10/src/org/apidesign/apifest08/currency/ConstantRateConverter.java	Tue Oct 07 01:18:23 2008 +0200
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,44 +0,0 @@
     1.4 -package org.apidesign.apifest08.currency;
     1.5 -
     1.6 -import java.util.*;
     1.7 -
     1.8 -final class ConstantRateConverter implements CurrencyConverter {
     1.9 -
    1.10 -	private final Currency from;
    1.11 -	private final Currency to;
    1.12 -
    1.13 -	private final double rate;
    1.14 -
    1.15 -	public ConstantRateConverter(Currency from, Currency to, double rate) throws IllegalArgumentException {
    1.16 -		if (from == null || to == null)
    1.17 -			throw new NullPointerException("None of the currencies can be null");
    1.18 -		if (from.equals(to))
    1.19 -			throw new IllegalArgumentException("Cannot create converter with two equal currencies");
    1.20 -		this.from = from;
    1.21 -		this.to = to;
    1.22 -		this.rate = rate;
    1.23 -	}
    1.24 -
    1.25 -	@Override
    1.26 -	public double convert(double value, String from, String to)
    1.27 -			throws CurrencyConversionException, NullPointerException {
    1.28 -		return convert(value, Currency.getInstance(from), Currency.getInstance(to));
    1.29 -	}
    1.30 -
    1.31 -	@Override
    1.32 -	public double convert(double value, Currency from, Currency to)
    1.33 -			throws NullPointerException, CurrencyConversionException {
    1.34 -
    1.35 -		if (this.from.equals(from)) {
    1.36 -			if (!this.to.equals(to))
    1.37 -				throw new CurrencyConversionException(from, to, "Unsupported currency");
    1.38 -			return value * rate;
    1.39 -		}
    1.40 -		if (this.from.equals(to)) {
    1.41 -			if (!this.to.equals(from))
    1.42 -				throw new CurrencyConversionException(from, to, "Unsupported currency");
    1.43 -			return value / rate;
    1.44 -		}
    1.45 -		throw new CurrencyConversionException(from, to, "Unsupported currency"); 
    1.46 -	}
    1.47 -}