On 14.12.2016 20:11, Sergey Bylokhov wrote:

Interesting. Does it mean that if I register some custom resource bundle
it will not affect any UI values because all the values is already
cached in some UIDefaults map, is that what you mean?

The cache will be cleared when you register a new bundle.
And if bundle remove the cache is not cleared?

If bundle is removed from the list of bundles then the cache will be cleared as well.
Nice. Why the remove method is not modified in the fix?

Why it should be modified? It does not expose an internal resource bundles and allow the user to modify the list of bundles in the UIDefaults.
Then why addResourceBundle() is modified to ***not***
> allow the user to modify the list of bundles in the UIDefaults.
?

Because addResourceBundle() was modified to «not» allow the users to expose internal resource bundles(for example the users are not able to read content of some random bundle), only if internal bundles were registered already by java.desktop the user will be able to change/override/remove the data in UIDefauls since this data is accessible already to him(via custom resource bundle or via UIDefault.put(key,value) or via removeResourceBundle()).
Why not to allow user to load any resource bundle from the java.desktop module assuming that we allow user to modify UIDefaults resource bandles arbitrary? Which violation may take place because of still enabling this?

Why specification of the addResourceBundle() doesn't reflect this limitation? It is obvious that the fix bears impact in compatibility.


Reply via email to