On 14/11/2017 17:07, Gunnar Morling wrote:


:

    JAXB is one example doing this already and it would be good to
    exercise it with other libraries to ensure that it is feasible.


Is this happening in the JAXB reference implementation? Would you perhaps have any pointers to specifics so I could take a look?
Yes, in javax.xml.bind.ContextFinder where it uses its delegateAddOpensToImplModule method to open the packages to the implementation module.



Yes, what I like about it is that it makes the need for private access more apparent to the user, if e.g. the library bootstrap is designed in a way that a Lookup object is mandatory (as opposed to the requirement for opening up the user's module/packages, which essentially can only be documented or things will fail at runtime). Although in reality it'd likely have to be multiple Lookup objects, one for each module of the user containing entities or similar. It'll be interesting how to collect those Lookups so they can be passed to the library without making them available to other modules, too.
If the library needs to reflect into several non-open modules then it would minimally need a Lookup with MODULE access for each one.


But in respect to my initial question you seem to suggest indeed that the user would have to pass a literal Lookup object which they'd have obtained themselves. So indeed the user code would have to deal with the specifics of Lookup objects.
Right, either explicitly or oerced by some means.

-Alan

Reply via email to