| /* |
| * Copyright 2009 Google Inc. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| * use this file except in compliance with the License. You may obtain a copy of |
| * the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| * License for the specific language governing permissions and limitations under |
| * the License. |
| */ |
| package com.google.gwt.i18n.client; |
| |
| /** |
| * A default {@link CurrencyData} implementation, so new methods can be added |
| * to the interface without breaking implementors if a reasonable default is |
| * available. |
| */ |
| public class DefaultCurrencyData implements CurrencyData { |
| |
| private final String currencyCode; |
| private final String currencySymbol; |
| private final int fractionDigits; |
| |
| /** |
| * Create a default default {@link CurrencyData} instance, returning {@code |
| * false} for all {@code isFoo} methods, having 2 fractional digits by |
| * default, and using the standard symbol for the portable symbol. |
| * |
| * @param currencyCode ISO 4217 currency code |
| * @param currencySymbol symbol to use for this currency |
| */ |
| public DefaultCurrencyData(String currencyCode, String currencySymbol) { |
| this(currencyCode, currencySymbol, 2); |
| } |
| |
| /** |
| * Create a default default {@link CurrencyData} instance, returning {@code |
| * false} for all {@code isFoo} methods and using the standard symbol for the |
| * portable symbol. |
| * |
| * @param currencyCode ISO 4217 currency code |
| * @param currencySymbol symbol to use for this currency |
| * @param fractionDigits default number of fraction digits |
| */ |
| public DefaultCurrencyData(String currencyCode, String currencySymbol, |
| int fractionDigits) { |
| this.currencyCode = currencyCode; |
| this.currencySymbol = currencySymbol; |
| this.fractionDigits = fractionDigits; |
| } |
| |
| @Override |
| public String getCurrencyCode() { |
| return currencyCode; |
| } |
| |
| @Override |
| public String getCurrencySymbol() { |
| return currencySymbol; |
| } |
| |
| @Override |
| public int getDefaultFractionDigits() { |
| return fractionDigits; |
| } |
| |
| @Override |
| public String getPortableCurrencySymbol() { |
| return getCurrencySymbol(); |
| } |
| |
| @Override |
| public String getSimpleCurrencySymbol() { |
| return getCurrencySymbol(); |
| } |
| |
| @Override |
| public boolean isDeprecated() { |
| return false; |
| } |
| |
| @Override |
| public boolean isSpaceForced() { |
| return false; |
| } |
| |
| @Override |
| public boolean isSpacingFixed() { |
| return false; |
| } |
| |
| @Override |
| public boolean isSymbolPositionFixed() { |
| return false; |
| } |
| |
| @Override |
| public boolean isSymbolPrefix() { |
| return false; |
| } |
| } |