This class represents a unit of currency such as the British Pound, Euro or US Dollar.
The set of loaded currencies is provided by an instance of CurrencyUnitDataProvider.
The provider used is determined by the system property org.joda.money.CurrencyUnitDataProvider
which should be the fully qualified class name of the provider. The default provider loads the first
resource named /org/joda/money/MoneyData.csv on the classpath.
This class is immutable and thread-safe.
| Modifier and Type | Field and Description |
|---|---|
| public static final CurrencyUnit | AUD
The currency 'AUD' - Australian Dollar. |
| public static final CurrencyUnit | CAD
The currency 'CAD' - Canadian Dollar. |
| public static final CurrencyUnit | CHF
The currency 'CHF' - Swiss Franc. |
| private static final Pattern | CODE
The currency code pattern. |
| private final String | code
The currency code, not null. |
| private static final ConcurrentMap | currenciesByCode
Map of registered currencies by text code. |
| private static final ConcurrentMap | currenciesByCountry
Map of registered currencies by country. |
| private static final ConcurrentMap | currenciesByNumericCode
Map of registered currencies by numeric code. |
| private final short | decimalPlaces
The number of decimal places. |
| public static final CurrencyUnit | EUR
The currency 'EUR' - Euro. |
| public static final CurrencyUnit | GBP
The currency 'GBP' - British pound. |
| public static final CurrencyUnit | JPY
The currency 'JPY' - Japanese Yen. |
| private final short | numericCode
The numeric currency code. |
| private static final long | serialVersionUID
The serialisation version. |
| public static final CurrencyUnit | USD
The currency 'USD' - United States Dollar. |
| Access | Constructor and Description |
|---|---|
| pack-priv | CurrencyUnit(String
the three-letter currency code, not null code, short the numeric currency code, from 0 to 999, -1 if none numericCode, short the decimal places, not null decimalPlaces)Constructor, creating a new currency instance. |
| Modifier and Type | Method and Description |
|---|---|
| public int | Returns: negative if earlier alphabetically, 0 if equal, positive if greater alphabeticallythe other currency, not null other)Implements java. Compares this currency to another by alphabetical comparison of the code. |
| public boolean | Returns: true if equalthe other currency, null returns false obj)Overrides java. Checks if this currency equals another currency. |
| public String | Returns: the three-letter upper-case currency code, never nullGets the ISO-4217 three-letter currency code. |
| public Set | Returns: the country codes, may be empty, not nullGets the country codes applicable to this currency. |
| public int | Returns: the decimal places, from 0 to 9 (normally 0, 2 or 3)Gets the number of decimal places typically used by this currency. |
| public String | Returns: the three digit numeric currency code, empty is no code, never nullGets the ISO-4217 numeric currency code as a three digit string. |
| public int | Returns: the numeric currency code, -1 if no numeric codeGets the ISO-4217 numeric currency code. |
| public String | Returns: the JDK currency instance, never nullGets the symbol for this locale from the JDK. |
| public String | |
| public int | Returns: the hash codeOverrides java. Returns a suitable hash code for the currency. |
| public boolean | |
| public static CurrencyUnit | |
| public static CurrencyUnit | |
| public static CurrencyUnit | |
| public static CurrencyUnit | |
| public static CurrencyUnit | Returns: the singleton instance, never nullthe currency code, not null numericCurrencyCode)Obtains an instance of |
| public static CurrencyUnit | Returns: the singleton instance, never nullthe numeric currency code, not null numericCurrencyCode)Obtains an instance of |
| private void | |
| public static synchronized void | registerCountry(String
the country code, two upper case letters if following ISO 3166-1-alpha-2, not null countryCode, CurrencyUnit the associated currency currency)Registers a country code, typically ISO 3166-1-alpha-2. |
| public static synchronized CurrencyUnit | Returns: the new instance, never nullthe three-letter upper-case currency code, not null currencyCode, int the numeric currency code, from 0 to 999, -1 if none numericCurrencyCode, int the number of decimal places that the currency
normally has, from 0 to 30 (normally 0, 2 or 3), or -1 for a pseudo-currency decimalPlaces, List<String> the country codes to register the currency under, not null countryCodes)Registers a currency and associated countries allowing it to be used. |
| public static synchronized CurrencyUnit | Returns: the new instance, never nullthe three-letter upper-case currency code, not null currencyCode, int the numeric currency code, from 0 to 999, -1 if none numericCurrencyCode, int the number of decimal places that the currency
normally has, from 0 to 30 (normally 0, 2 or 3), or -1 for a pseudo-currency decimalPlaces, List<String> the country codes to register the currency under,
use of ISO-3166 is recommended, not null countryCodes, boolean true to register forcefully, replacing any existing matching currency,
false to validate that there is no existing matching currency force)Registers a currency and associated countries allowing it to be used, allowing replacement. |
| public static synchronized CurrencyUnit | Returns: the new instance, never nullthe three-letter upper-case currency code, not null currencyCode, int the numeric currency code, from 0 to 999, -1 if none numericCurrencyCode, int the number of decimal places that the currency
normally has, from 0 to 30 (normally 0, 2 or 3), or -1 for a pseudo-currency
use of ISO-3166 is recommended, not null decimalPlaces, boolean true to register forcefully, replacing any existing matching currency,
false to validate that there is no existing matching currency force)Registers a currency allowing it to be used, allowing replacement. |
| public static List | Returns: the sorted, independent, list of all registered countries, never nullGets the list of all registered countries. |
| public static List | Returns: the sorted, independent, list of all registered currencies, never nullGets the list of all registered currencies. |
| public Currency | Returns: the JDK currency instance, never nullGets the JDK currency instance equivalent to this currency. |
| public String | Returns: the currency code, never nullOverrides java. Gets the currency code as a string. |
| private Object |
| AUD | back to summary |
|---|---|
| public static final CurrencyUnit AUD The currency 'AUD' - Australian Dollar. | |
| CAD | back to summary |
|---|---|
| public static final CurrencyUnit CAD The currency 'CAD' - Canadian Dollar. | |
| CHF | back to summary |
|---|---|
| public static final CurrencyUnit CHF The currency 'CHF' - Swiss Franc. | |
| CODE | back to summary |
|---|---|
| private static final Pattern CODE The currency code pattern. | |
| code | back to summary |
|---|---|
| private final String code The currency code, not null. | |
| currenciesByCode | back to summary |
|---|---|
| private static final ConcurrentMap<String, CurrencyUnit> currenciesByCode Map of registered currencies by text code. | |
| currenciesByCountry | back to summary |
|---|---|
| private static final ConcurrentMap<String, CurrencyUnit> currenciesByCountry Map of registered currencies by country. | |
| currenciesByNumericCode | back to summary |
|---|---|
| private static final ConcurrentMap<Integer, CurrencyUnit> currenciesByNumericCode Map of registered currencies by numeric code. | |
| decimalPlaces | back to summary |
|---|---|
| private final short decimalPlaces The number of decimal places. | |
| EUR | back to summary |
|---|---|
| public static final CurrencyUnit EUR The currency 'EUR' - Euro. | |
| GBP | back to summary |
|---|---|
| public static final CurrencyUnit GBP The currency 'GBP' - British pound. | |
| JPY | back to summary |
|---|---|
| public static final CurrencyUnit JPY The currency 'JPY' - Japanese Yen. | |
| numericCode | back to summary |
|---|---|
| private final short numericCode The numeric currency code. | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID The serialisation version. | |
| USD | back to summary |
|---|---|
| public static final CurrencyUnit USD The currency 'USD' - United States Dollar. | |
| CurrencyUnit | back to summary |
|---|---|
| pack-priv CurrencyUnit(String code, short numericCode, short decimalPlaces) Constructor, creating a new currency instance.
| |
| compareTo | back to summary |
|---|---|
| public int compareTo(CurrencyUnit other) Implements java. Compares this currency to another by alphabetical comparison of the code.
| |
| equals | back to summary |
|---|---|
| public boolean equals(Object obj) Overrides java. Checks if this currency equals another currency. The comparison checks the 3 letter currency code. | |
| getCode | back to summary |
|---|---|
| public String getCode() Gets the ISO-4217 three-letter currency code. Each currency is uniquely identified by a three-letter upper-case code, based on ISO-4217.
| |
| getCountryCodes | back to summary |
|---|---|
| public Set Gets the country codes applicable to this currency. A currency is typically valid in one or more countries. The codes are typically defined by ISO-3166. An empty set indicates that no the currency is not associated with a country code. | |
| getDecimalPlaces | back to summary |
|---|---|
| public int getDecimalPlaces() Gets the number of decimal places typically used by this currency. Different currencies have different numbers of decimal places by default. For example, 'GBP' has 2 decimal places, but 'JPY' has zero. Pseudo-currencies will return zero.
| |
| getNumeric3Code | back to summary |
|---|---|
| public String getNumeric3Code() Gets the ISO-4217 numeric currency code as a three digit string. This formats the numeric code as a three digit string prefixed by zeroes if necessary. If there is no valid code, then an empty string is returned.
| |
| getNumericCode | back to summary |
|---|---|
| public int getNumericCode() Gets the ISO-4217 numeric currency code. The numeric code is an alternative to the standard string-based code.
| |
| getSymbol | back to summary |
|---|---|
| public String getSymbol() Gets the symbol for this locale from the JDK. If this currency doesn't have a JDK equivalent, then the currency code is returned.
This method matches the API of
| |
| getSymbol | back to summary |
|---|---|
| public String getSymbol(Locale locale) Gets the symbol for this locale from the JDK. If this currency doesn't have a JDK equivalent, then the currency code is returned.
This method matches the API of | |
| hashCode | back to summary |
|---|---|
| public int hashCode() Overrides java. Returns a suitable hash code for the currency.
| |
| isPseudoCurrency | back to summary |
|---|---|
| public boolean isPseudoCurrency() Checks if this is a pseudo-currency.
| |
| of | back to summary |
|---|---|
| public static CurrencyUnit of(Currency currency) Obtains an instance of This converts the JDK currency instance to a currency unit using the code.
| |
| of | back to summary |
|---|---|
| public static CurrencyUnit of(String currencyCode) Obtains an instance of A currency is uniquely identified by a three letter code, based on ISO-4217. Valid currency codes are three upper-case ASCII letters.
| |
| of | back to summary |
|---|---|
| public static CurrencyUnit of(Locale locale) Obtains an instance of Only the country is used from the locale.
| |
| ofCountry | back to summary |
|---|---|
| public static CurrencyUnit ofCountry(String countryCode) Obtains an instance of Country codes should generally be in upper case. This method is case sensitive.
| |
| ofNumericCode | back to summary |
|---|---|
| public static CurrencyUnit ofNumericCode(String numericCurrencyCode) Obtains an instance of The numeric code is an alternative to the three letter code. This method is lenient and does not require the string to be left padded with zeroes.
| |
| ofNumericCode | back to summary |
|---|---|
| public static CurrencyUnit ofNumericCode(int numericCurrencyCode) Obtains an instance of The numeric code is an alternative to the three letter code.
| |
| readObject | back to summary |
|---|---|
| private void readObject(ObjectInputStream ois) throws InvalidObjectException Block malicious data streams.
| |
| registerCountry | back to summary |
|---|---|
| public static synchronized void registerCountry(String countryCode, CurrencyUnit currency) Registers a country code, typically ISO 3166-1-alpha-2. This registers a country code and the associated currency. The country code is typically from ISO 3166-1-alpha-2, and is therefore two upper-case ASCII letters. If the country code already exists, the data is replaced.
| |
| registerCurrency | back to summary |
|---|---|
| public static synchronized CurrencyUnit registerCurrency(String currencyCode, int numericCurrencyCode, int decimalPlaces, List<String> countryCodes) Registers a currency and associated countries allowing it to be used. This class only permits known currencies to be returned. To achieve this, all currencies have to be registered in advance. Since this method is public, it is possible to add currencies in application code. It is recommended to do this only at startup, however it is safe to do so later as the internal implementation is thread-safe. The currency code must be three upper-case ASCII letters, based on ISO-4217. The numeric code must be from 0 to 999, or -1 if not applicable.
| |
| registerCurrency | back to summary |
|---|---|
| public static synchronized CurrencyUnit registerCurrency(String currencyCode, int numericCurrencyCode, int decimalPlaces, List<String> countryCodes, boolean force) Registers a currency and associated countries allowing it to be used, allowing replacement. This class only permits known currencies to be returned. To achieve this, all currencies have to be registered in advance. Since this method is public, it is possible to add currencies in application code. It is recommended to do this only at startup, however it is safe to do so later as the internal implementation is thread-safe. This method uses a flag to determine whether the registered currency must be new, or can replace an existing currency. The currency code must be three upper-case ASCII letters, based on ISO-4217. The numeric code must be from 0 to 999, or -1 if not applicable.
| |
| registerCurrency | back to summary |
|---|---|
| public static synchronized CurrencyUnit registerCurrency(String currencyCode, int numericCurrencyCode, int decimalPlaces, boolean force) Registers a currency allowing it to be used, allowing replacement. This class only permits known currencies to be returned. To achieve this, all currencies have to be registered in advance. Since this method is public, it is possible to add currencies in application code. It is recommended to do this only at startup, however it is safe to do so later as the internal implementation is thread-safe. This method uses a flag to determine whether the registered currency must be new, or can replace an existing currency. The currency code must be three upper-case ASCII letters, based on ISO-4217. The numeric code must be from 0 to 999, or -1 if not applicable.
| |
| registeredCountries | back to summary |
|---|---|
| public static List Gets the list of all registered countries. This returns the list of known countries. The list may change after application startup, however this isn't recommended. | |
| registeredCurrencies | back to summary |
|---|---|
| public static List Gets the list of all registered currencies. This class only permits known currencies to be returned, thus this list is the complete list of valid singleton currencies. The list may change after application startup, however this isn't recommended.
| |
| toCurrency | back to summary |
|---|---|
| public Currency toCurrency() Gets the JDK currency instance equivalent to this currency.
This attempts to convert a
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Gets the currency code as a string. | |
| writeReplace | back to summary |
|---|---|
| private Object writeReplace() Uses a serialization delegate.
| |