task4/solution14/src/org/apidesign/apifest08/currency/CurrencyRateFactory.java
changeset 61 58ec6da75f6f
parent 50 03c5c5dc94e7
child 67 bf7622ec1713
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/task4/solution14/src/org/apidesign/apifest08/currency/CurrencyRateFactory.java	Sat Oct 11 23:38:46 2008 +0200
     1.3 @@ -0,0 +1,25 @@
     1.4 +package org.apidesign.apifest08.currency;
     1.5 +
     1.6 +
     1.7 +public final class CurrencyRateFactory {
     1.8 +
     1.9 +    //Singleton
    1.10 +    private static CurrencyRateFactory thisFactory = new CurrencyRateFactory();
    1.11 +    private CurrencyRateFactory() {};
    1.12 +    public static CurrencyRateFactory getInstance() {
    1.13 +        return thisFactory;
    1.14 +    }
    1.15 +
    1.16 +    public CurrencyRate createCurrencyRate(final String currency1, final String currency2, final Rate rate) {
    1.17 +        return new CurrencyRateImpl(currency1, currency2, rate);
    1.18 +    }
    1.19 +    
    1.20 +    public CurrencyRate createCurrencyRate(final String currency1, final String currency2, int amount1, int amount2) {
    1.21 +        return new CurrencyRateImpl(currency1, currency2, new Rate(amount1, amount2));
    1.22 +    }
    1.23 +
    1.24 +    public CurrencyRate createCurrencyRate(final String currency1, final String currency2, double amount1, double amount2) {
    1.25 +        return new CurrencyRateImpl(currency1, currency2, new Rate(amount1, amount2));
    1.26 +    }
    1.27 +    
    1.28 +}