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.SecurityException
public 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
.