I finally found some time to restructure Localizer and many its
downstream classes. The code should now be much easier to read. The
Localizer interface remained (almost) unchanged, except on exotic
method which were meant for requests without Component. Since
component can now be null with the other methods, that should not be a
problem.

Localizer is now reduced to iterator over all IStringResourceLoader
registered and to replace placeholders if needed. That is it.

The component hierarchy walker has been moved from Localizer into the
StringResourceLoader which required me to add a second method to
IStringResourceLoader. I don't think this is bad since if someone
really really wants to avoid walking the hierarchy or implements its
own they can now easily do.

And finally I extracted all code that iterates over Locale, style, etc
into a ResourceNameIterator. And the now the code much easier to read
and to understand.

Any objections against me committing to 2.0 for you to review it?

Juergen

Reply via email to