Top Description Constructors Methods
com.google.auto.value.processor

public final Class SimpleServiceLoader

extends Object
Class Inheritance
Static Imports
java.nio.charset.StandardCharsets.UTF_8, java.util.stream.Collectors.toList

A replacement for java.util.ServiceLoader that avoids certain long-standing bugs. This simpler implementation does not bother with lazy loading but returns all the service implementations in one list. It makes sure that URLConnection#setUseCaches is called to turn off jar caching, since that tends to lead to problems in versions before JDK 9.
See Also
Issue #718, JDK-8156014

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static <T> ImmutableList<T>
load(Class<? extends T> service, ClassLoader loader)

public static <T> ImmutableList<T>
load(Class<? extends T> service, ClassLoader loader, Optional<Pattern> allowedMissingClasses)

private static Optional<String>
private static <T> ImmutableSet<Class<? extends T>>
providerClassesFromUrl(URL resourceUrl, Class<? extends T> service, ClassLoader loader, Optional<Pattern> allowedMissingClasses)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

SimpleServiceLoaderback to summary
private SimpleServiceLoader()

Method Detail

loadback to summary
public static <T> ImmutableList<T> load(Class<? extends T> service, ClassLoader loader)
loadback to summary
public static <T> ImmutableList<T> load(Class<? extends T> service, ClassLoader loader, Optional<Pattern> allowedMissingClasses)
parseClassNameback to summary
private static Optional<String> parseClassName(String line)
providerClassesFromUrlback to summary
private static <T> ImmutableSet<Class<? extends T>> providerClassesFromUrl(URL resourceUrl, Class<? extends T> service, ClassLoader loader, Optional<Pattern> allowedMissingClasses) throws IOException