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 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> Iterator<Class<T>>
createClassIterator(Class<T> service, String serviceName, ClassLoader loader, boolean ignoreOnClassNotFound)
          Iterate over provider classes of a service.
abstract
<T> Iterator<T>
createIterator(Class<T> service, String serviceName, 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> Iterator<T> createIterator(Class<T> service,
                                               String serviceName,
                                               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> Iterator<Class<T>> createClassIterator(Class<T> service,
                                                           String serviceName,
                                                           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.