org.glassfish.jersey.internal
Class ServiceFinder.ServiceIteratorProvider

java.lang.Object
  extended by org.glassfish.jersey.internal.ServiceFinder.ServiceIteratorProvider
Direct Known Subclasses:
ServiceFinder.DefaultServiceIteratorProvider
Enclosing class:
ServiceFinder<T>

public abstract static class ServiceFinder.ServiceIteratorProvider
extends java.lang.Object

Supports 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 invoking ServiceFinder.setIteratorProvider(org.glassfish.jersey.internal.ServiceFinder.ServiceIteratorProvider).


Constructor Summary
ServiceFinder.ServiceIteratorProvider()
           
 
Method Summary
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServiceFinder.ServiceIteratorProvider

public ServiceFinder.ServiceIteratorProvider()
Method Detail

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 a ClassNotFoundException.
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 a ClassNotFoundException.
Returns:
the provider class iterator.


Copyright © 2007-2012 Oracle Corporation. All Rights Reserved. Use is subject to license terms.