I prefer the proposals of Anatole.
Whereas Visible and Audible are defined English words Validible isn't to my knowledge - you don't find that word in any major dictionary although there are some references to it in Internet they as well directly state that it's unclear if this word exists.
So I would not use this word unless one of our native English pears says this is a really defined word
From: Werner Keil [mailto:werner.keil@...]
Sent: Samstag, 8. Juni 2013 13:44
Cc: Mark Davis ☕
Subject: [JSR-354] Re: Separation of Validity
Analogous to "Visible" or "Audible" couldn't we simply call the interface "Validible"?
Am 08.06.2013 13:03 schrieb "Werner Keil" <werner.keil@...>:
The name could use some tweaking, but the idea itself looks good
Am 08.06.2013 08:40 schrieb "Anatole Tresch" <atsticks@...>:
I was thinking about, how we can separate Validity from the instances, e.g. CurrencyUnit (one of the key feedback points out of the EDR). As attachment find my proposal how we can achieve that:
- The Validity value type defines a validity for any item where it can be used: CurrencyUnit, but also ExchangeRate.
- I defined another interface Validateable which can be implemented by classes that support validity ranges. I suggest hereby that
- CurrencyUnit will NOT extend this interface. Basically this leads to a very lean CurrencyUnit, which basically only extends the current Currency class by namespaces, the general legal tender and virtual flags (see also attached interface). As a side effect the implementation of equals/hashCode also gets simple.
- ExchangeRate would implement this interface.
- Additionally for the MonetaryCurrencies singleton, within the ext package a ValidatedCurrencyUnit class can be implemented that extends CurrencyUnit with Validateable.
- Similarly a ValideatableAmount class can be added that combines validity with a MonetaryAmount.
I know that not all details were worked out, but I think, it is worth starting the discussion given the two interfaces attached and the comments above. So the discussion is open!
Java Lead Engineer, JSR Spec Lead
CH - 8620 Wetzikon
Switzerland, Europe Zurich, GMT+1