ServiceLoader in the JDK
Jesse Glick
jesse.glick at oracle.com
Thu May 24 07:28:47 PDT 2012
On 05/24/2012 08:40 AM, Jesse Glick wrote:
> maybe add to Class:
>
> public <S> Iterable<S> services(Class<S> service) {
> Module m = getModule();
> return m != null ? m.somehowLoadProviders(service) : ServiceLoader.load(service);
> }
or better, add to ClassLoader:
protected <S> Iterable<S> services(Class<S> service, Class<?> reference) {
return ServiceLoader.load(service); // or .load(service, this)? TBD
}
with an override in ModuleClassLoader, and to Class:
public final <S> Iterable<S> services(Class<S> service) {
return getClassLoader().services(service, this);
}
offering better flexibility for module systems generally.
More information about the jigsaw-dev
mailing list