japod@49: package org.apidesign.apifest08.currency; japod@49: japod@49: japod@49: public final class CurrencyRateFactory { japod@49: japod@49: //Singleton japod@49: private static CurrencyRateFactory thisFactory = new CurrencyRateFactory(); japod@49: private CurrencyRateFactory() {}; japod@49: public static CurrencyRateFactory getInstance() { japod@49: return thisFactory; japod@49: } japod@49: japod@49: public CurrencyRate createCurrencyRate(final String currency1, final String currency2, final Rate rate) { japod@49: return new CurrencyRateImpl(currency1, currency2, rate); japod@49: } japod@49: japod@49: public CurrencyRate createCurrencyRate(final String currency1, final String currency2, int amount1, int amount2) { japod@49: return new CurrencyRateImpl(currency1, currency2, new Rate(amount1, amount2)); japod@49: } japod@49: japod@49: public CurrencyRate createCurrencyRate(final String currency1, final String currency2, double amount1, double amount2) { japod@49: return new CurrencyRateImpl(currency1, currency2, new Rate(amount1, amount2)); japod@49: } japod@49: japod@49: }