001 package data.ooimpl;
002
003 import data.*;
004
005 /**
006 * Pure Java implementation of the {@link CurrencyItem} interface.
007 *
008 * @author Steffen Zschaler
009 * @version 2.0 19/08/1999
010 * @since v2.0
011 */
012 public class CurrencyItemImpl extends CatalogItemImpl implements CurrencyItem {
013
014 /**
015 * ID for serialization.
016 */
017 private static final long serialVersionUID = 8492672871276120729L;
018
019 /**
020 * Create a new CurrencyItemImpl.
021 *
022 * @param sName the name of the currency item.
023 * @param nValue the value of the item, expressed in the smallest unit of the associated currency.
024 */
025 public CurrencyItemImpl(String sName, int nValue) {
026 super(sName, new IntegerValue(nValue));
027 }
028
029 /**
030 * @override Never
031 */
032 public CatalogItemImpl getShallowClone() {
033 return new CurrencyItemImpl(getName(), ((NumberValue)getValue()).getValue().intValue());
034 }
035
036 /**
037 * @override Never
038 */
039 public String toString() {
040 return getName() + ": " + ((getCatalog() != null) ?
041 (((Currency)getCatalog()).toString((NumberValue)getValue())) : (getValue().toString()));
042 }
043 }