On 15/09/2016 07:54, Peter Levart wrote:

One thing that is not clear is whether the yyy in "provides xxx with yyy" directive of module declaration must be a concrete class and a subtype of service type when the service is obtained via a static method. For example, is the following a valid configuration: Service type A, implementation class B (a subtype of A), static method declared in C (unrelated to A) with return type B (or A or anything between A and B?).
If yyy defines the static factory method then it does not need to be a sub-type of xxx, the return type from the public provider() method just needs to be xxx or a sub-type of. So the example is okay, no need for C to extend/implement A.

I should note that the implementation isn't aligned with this yet but there are updates to both javac and SL coming that will align it with the current proposal.

-Alan

Reply via email to