Package org.glassfish.jersey.internal
Class ServiceFinder.ServiceIteratorProvider
- java.lang.Object
-
- org.glassfish.jersey.internal.ServiceFinder.ServiceIteratorProvider
-
- Direct Known Subclasses:
OsgiRegistry.OsgiServiceFinder,ServiceFinder.DefaultServiceIteratorProvider
- Enclosing class:
- ServiceFinder<T>
public abstract static class ServiceFinder.ServiceIteratorProvider extends java.lang.ObjectSupports iteration of provider instances or classes.The default implementation looks up provider classes from META-INF/services files, see
ServiceFinder.DefaultServiceIteratorProvider. This implementation may be overridden by invokingServiceFinder.setIteratorProvider(org.glassfish.jersey.internal.ServiceFinder.ServiceIteratorProvider).
-
-
Field Summary
Fields Modifier and Type Field Description private static ServiceFinder.ServiceIteratorProvidersipprivate static java.lang.ObjectsipLock
-
Constructor Summary
Constructors Constructor Description ServiceIteratorProvider()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method 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.ServiceIteratorProvidergetInstance()private static voidsetInstance(ServiceFinder.ServiceIteratorProvider sip)
-
-
-
Field Detail
-
sip
private static volatile ServiceFinder.ServiceIteratorProvider sip
-
sipLock
private static final java.lang.Object sipLock
-
-
Method Detail
-
getInstance
private static ServiceFinder.ServiceIteratorProvider getInstance()
-
setInstance
private static void setInstance(ServiceFinder.ServiceIteratorProvider sip) throws java.lang.SecurityException
- Throws:
java.lang.SecurityException
-
createIterator
public 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.- Type Parameters:
T- the type of the service.- Parameters:
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 aClassNotFoundException.- Returns:
- the provider instance iterator.
-
createClassIterator
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)Iterate over provider classes of a service.- Type Parameters:
T- the type of the service.- Parameters:
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 aClassNotFoundException.- Returns:
- the provider class iterator.
-
-