Skip to main content

[JSR-354] Re: Validity Dates for CurrencyValidity

  • From: Anatole Tresch <atsticks@...>
  • To: Jsr 354 JavaMoney Public Mailinglist <jcurrency_mail@...>
  • Subject: [JSR-354] Re: Validity Dates for CurrencyValidity
  • Date: Thu, 8 Aug 2013 09:36:18 +0200

Hi Greg

unfortunetely the spec does not (yet) describe the according concepts (e.g.
ValidityInfo). Currently it is best to have a look at the JavaDoc. On the
top level of the project there is an ant script that should be able (with
some adaptations) to generate the API documentation.

Basically a CurrencyValidity is a class the includes

   - a CurrencyUnit
   - a Region
   - a Validty provider identifier (String)
   - a from UTC timestamp
   - a to UTC timestamp

Our API allows to access validities for a CurrencyUnit, a Region and
optionally a UTC timestamp, e.g.

*public *Collection<RelatedValidityInfo<CurrencyUnit, Region>>
getValidityInfo(Region region, *long *timestamp);
*public *Collection<RelatedValidityInfo<CurrencyUnit, Region>>
getValidityInfo(Region region);


The problem is that ISO as well as CLDC models the time ranges differently,
e.g. (from
http://unicode.org/repos/cldr/trunk/common/supplemental/supplementalData.xml
):
<region iso3166="AO">
<currency iso4217="AOA" from="1999-12-13"/>
<currency iso4217="AOR" from="1995-07-01" to="2000-02-01"/>
<currency iso4217="AON" from="1990-09-25" to="2000-02-01"/>
<currency iso4217="AOK" from="1977-01-08" to="1991-03-01"/>
</region>

Also ISO uses the same model using local dates, so why should we make
things more complex here. Most uses cases IMO just want to access
validities for a region, sometimes also using a UTC timestamp (for
accessing UTC timestamps are OK), or also the other way round. A
CurrencyUnit compared to ExchangeRate are much less volatile (they change
in days, not millis ;-) ).

Cheers,
Anatole


2013/8/8 Greg Bakos <greg@...>

> Hi,
>
> I've tried to find it in JSR-354 specification PDF and I didn't find it.
> I'd like to understand what is it exactly. Where can I find a proper
> description about CurrencyValidity? I suppose the specification PDF would
> be the best place for it.
>
> Thanks,
> Greg
>
>
> On Thu, Aug 8, 2013 at 6:35 AM, Anatole Tresch <atsticks@...> wrote:
>
>> Dear all
>>
>> when trying to implement regional validity of currencies in the RI I
>> encounter a possible issue with our currency validity model, I think we
>> have to discuss. The point is that ISO, as well as CLDC sources all model
>> the currencies validity in form of a local date (in the sense of 310), so
>> without any timezone information. In our model, we currently have the UTC
>> from/to timestamps, which for all querying APIs may match well, and IMO
>> also make sense for exchange rates. But in case of the validity records for
>> currencies, it makes it difficult to implement the SPI, since I have to
>> convert each local date for each region/territory, where a currency is
>> valid, to an UTC timestamp. In case of big countries with multiple
>> timezones this even leads to potential invalid data, since the validity
>> record is not constraint to a specified timezone. Additionally I think that
>> for most use cases local dates for currency validity is sufficient and also
>> feel more natural, so using local dates would match the commonly used way
>> to model this, and with UTC we add here unnecessary complexity.
>>
>> As a consequence this leads to another point:* how we should model local
>> dates without 310*...
>>
>> So, I will stop here, and just say the discussion is open !
>>
>> Regards,
>> Anatole
>>
>> --
>> *Anatole Tresch*
>> Java Lead Engineer, JSR Spec Lead
>> Glärnischweg 10
>> CH - 8620 Wetzikon
>>
>> *Switzerland, Europe Zurich, GMT+1*
>> *Twitter:  @atsticks*
>> *Blogs: **http://javaremarkables.blogspot.ch/*
>> *Google: atsticks
>> Phone   +41-44 334 40 87
>> Mobile  +41-76 344 62 79*
>>
>
>


-- 
*Anatole Tresch*
Java Lead Engineer, JSR Spec Lead
Glärnischweg 10
CH - 8620 Wetzikon

*Switzerland, Europe Zurich, GMT+1*
*Twitter:  @atsticks*
*Blogs: **http://javaremarkables.blogspot.ch/*
*Google: atsticks
Phone   +41-44 334 40 87
Mobile  +41-76 344 62 79*


[JSR-354] Validity Dates for CurrencyValidity

Anatole Tresch 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

magesh.kasthuri 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

Greg Bakos 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

Anatole Tresch 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

Stephen Colebourne 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

Werner Keil 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

Tresch Anatole (KGVA 55) 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

Werner Keil 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

Werner Keil 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

Tresch Anatole (KGVA 55) 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

Werner Keil 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

Tresch Anatole (KGVA 55) 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

Werner Keil 08/08/2013

[JSR-354] Re: Validity Dates for CurrencyValidity

Tresch Anatole (KGVA 55) 08/08/2013
 
 
Close
loading
Please Confirm
Close