blob: 05fbf7995e84b9ee3b9f83e16aeebf565d309cfe [file] [log] [blame]
/*
* 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;
}
}