Hi Stephen, Stephen Colebourne wrote:
Unfortunately, not all currencies are associated with countries. Some, like XAG for 'silver', XDR for 'IMF drawing rights' or XXX for 'no currency' have no matching country. Thus, this file format is unable to represent user overrides to those countries.
You meant "those currencies" here, right? If that's the case, yes it is true. We might need these currencies be updated in this properties file by enhancing the file format, however, the frequency for those currencies being updated is much less than the ones associated with particular countries.
Further, the Javadoc is unclear as to whether users can _add_ new currencies. An example would be if a country split, like Czech/Slovak, and created two currencies. Does the new format add a currency to the built in list if it isn't recognised?
Right now, there is no mechanism to update the ISO-3166 country codes in the JRE. So even though the format itself is capable of accepting any (new or old) country codes, it does not work for new ISO-3166 country codes.
I believe that we should also consider if Currency should implement Comparable, sorting alphabetically on the currency code. While there are many possible sort orders, having this as the default one makes a lot of sense.
Having the class Comparable makes sense to me. Although the default may be arguable (ISO-3166 code has numeric values independent of the three letter codes).
Finally, I'd like to see a method isPsuedoCurrency() added. This would return a boolean indicating if the currency is 'real' or not.
This one is also nice to have. Naoto
Otherwise the changes pretty much complete the use cases for the class. Stephen