japod@17: package org.apidesign.apifest08.currency; japod@17: japod@17: japod@17: import java.util.Currency; japod@17: japod@17: japod@17: /** japod@17: * Thrown when a currency is invalid for a given Convertor. japod@17: * japod@17: * @author D'Arcy Smith japod@17: * @version 1.0 japod@17: */ japod@17: public class InvalidConversionException japod@17: extends Exception japod@17: { japod@17: /** japod@17: * The currency that was tried. japod@17: */ japod@17: private final Currency badCurrency; japod@17: japod@17: /** japod@17: * A currency that is valid for the Convertor. japod@17: */ japod@17: private final Currency currencyA; japod@17: japod@17: /** japod@17: * A currency that is valid for the Convertor. japod@17: */ japod@17: private final Currency currencyB; japod@17: japod@35: japod@17: /** japod@35: * Construct a new InvalidConversionException with the specified message. japod@35: * japod@35: * @param msg the message for getMessage. japod@35: * @param bad the currency that is not valid. japod@35: */ japod@35: public InvalidConversionException(final String msg, japod@35: final Currency bad) japod@35: { japod@35: this(msg, bad, null, null); japod@35: } japod@35: japod@35: /** japod@35: * Construct a new InvalidConversionException with the specified message. japod@17: * japod@17: * @param msg the message for getMessage. japod@17: * @param bad the currency that is not valid. japod@17: * @param a a valid currency. japod@17: * @param b a valid currency. japod@17: */ japod@35: public InvalidConversionException(final String msg, japod@35: final Currency bad, japod@35: final Currency a, japod@35: final Currency b) japod@17: { japod@17: super(msg); japod@17: japod@17: badCurrency = bad; japod@17: currencyA = a; japod@17: currencyB = b; japod@17: } japod@17: japod@17: /** japod@17: * Get the currency that is not valid. japod@17: * japod@17: * @return the badCurrency japod@17: */ japod@17: public Currency getBadCurrency() japod@17: { japod@17: return (badCurrency); japod@17: } japod@17: japod@17: /** japod@17: * Get a currency that is valid. japod@17: * japod@17: * @return the currencyA passed to the constructor. japod@17: */ japod@17: public Currency getCurrencyA() japod@17: { japod@17: return (currencyA); japod@17: } japod@17: japod@17: /** japod@17: * Get a currency that is valid. japod@17: * japod@17: * @return the currencyB passed to the constructor. japod@17: */ japod@17: public Currency getCurrencyB() japod@17: { japod@17: return (currencyB); japod@17: } japod@17: japod@17: japod@17: }