public abstract static class ServiceFinder.ServiceIteratorProvider
extends java.lang.Object
The default implementation looks up provider classes from META-INF/services
files, see ServiceFinder.DefaultServiceIteratorProvider.
This implementation may be overridden by invoking
ServiceFinder.setIteratorProvider(org.glassfish.jersey.internal.ServiceFinder.ServiceIteratorProvider).
| Modifier and Type | Field and Description |
|---|---|
private static ServiceFinder.ServiceIteratorProvider |
sip |
private static java.lang.Object |
sipLock |
| Constructor and Description |
|---|
ServiceIteratorProvider() |
| Modifier and Type | Method and Description |
|---|---|
abstract <T> java.util.Iterator<java.lang.Class<T>> |
createClassIterator(java.lang.Class<T> service,
java.lang.String serviceName,
java.lang.ClassLoader loader,
boolean ignoreOnClassNotFound)
Iterate over provider classes of a service.
|
abstract <T> java.util.Iterator<T> |
createIterator(java.lang.Class<T> service,
java.lang.String serviceName,
java.lang.ClassLoader loader,
boolean ignoreOnClassNotFound)
Iterate over provider instances of a service.
|
private static ServiceFinder.ServiceIteratorProvider |
getInstance() |
private static void |
setInstance(ServiceFinder.ServiceIteratorProvider sip) |
private static volatile ServiceFinder.ServiceIteratorProvider sip
private static final java.lang.Object sipLock
private static ServiceFinder.ServiceIteratorProvider getInstance()
private static void setInstance(ServiceFinder.ServiceIteratorProvider sip) throws java.lang.SecurityException
java.lang.SecurityExceptionpublic abstract <T> java.util.Iterator<T> createIterator(java.lang.Class<T> service,
java.lang.String serviceName,
java.lang.ClassLoader loader,
boolean ignoreOnClassNotFound)
T - the type of the service.service - the service class.serviceName - the service name.loader - the class loader to utilize when loading provider
classes.ignoreOnClassNotFound - if true ignore an instance if the
corresponding provider class if cannot be found,
otherwise throw a ClassNotFoundException.public abstract <T> java.util.Iterator<java.lang.Class<T>> createClassIterator(java.lang.Class<T> service,
java.lang.String serviceName,
java.lang.ClassLoader loader,
boolean ignoreOnClassNotFound)
T - the type of the service.service - the service class.serviceName - the service name.loader - the class loader to utilize when loading provider
classes.ignoreOnClassNotFound - if true ignore the provider class if
cannot be found,
otherwise throw a ClassNotFoundException.