diff -r 09d690bb97f6 -r 58ec6da75f6f task4/solution11/src/org/apidesign/apifest08/currency/ExchangeRateProvider.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/task4/solution11/src/org/apidesign/apifest08/currency/ExchangeRateProvider.java Sat Oct 11 23:38:46 2008 +0200 @@ -0,0 +1,55 @@ +package org.apidesign.apifest08.currency; + +/** + * Exchange rate provider. + * + * @author ked + * @see http://wiki.apidesign.org/wiki/APIDesignPatterns:ResponseReply + */ +public interface ExchangeRateProvider { + + public void getExchangeRate( + ExchangeRateRequest request, + ExchangeRateResponse response); + + public final class ExchangeRateRequest { + + private IdentifierType currencyAIdentifier; + private IdentifierType currencyBIdentifier; + + ExchangeRateRequest() { + } + + public IdentifierType getCurrencyAIdentifier() { + return currencyAIdentifier; + } + + void setCurrencyAIdentifier(IdentifierType currencyAIdentifier) { + this.currencyAIdentifier = currencyAIdentifier; + } + + public IdentifierType getCurrencyBIdentifier() { + return currencyBIdentifier; + } + + void setCurrencyBIdentifier(IdentifierType currencyBIdentifier) { + this.currencyBIdentifier = currencyBIdentifier; + } + } + + public final class ExchangeRateResponse { + + private ExchangeRateValue exchangeRate; + + ExchangeRateResponse() { + } + + ExchangeRateValue getExchangeRate() { + return exchangeRate; + } + + public void setExchangeRate(ExchangeRateValue exchangeRate) { + this.exchangeRate = exchangeRate; + } + } +}