ShrinkWrap Resolver SPI 2.0.0-cr-1

org.jboss.shrinkwrap.resolver.spi.loader
Interface ServiceLoader

All Known Implementing Classes:
ServiceRegistry, SpiServiceLoader

public interface ServiceLoader

ServiceLoader allows to load services available on classpath implementing given service interface. All service are required to have a non-argument public constructor. All ServiceLoader are required to handle registration of services implemented as Enums. See SpiServiceLoader for default implementation.

Author:
Karel Piwko

Method Summary
<T> Collection<T>
all(Class<T> serviceClass)
          Loads all registered services for given serviceClass
<T> T
onlyOne(Class<T> serviceClass)
          Loads a registered service for given serviceClass
<T> T
onlyOne(Class<T> serviceClass, Class<? extends T> defaultImplementationClass)
          Loads a registered service for given serviceClass.
 

Method Detail

all

<T> Collection<T> all(Class<T> serviceClass)
                  throws IllegalArgumentException
Loads all registered services for given serviceClass

Parameters:
serviceClass -
Returns:
Throws:
IllegalArgumentException - If either classLoader or serviceClass is null

onlyOne

<T> T onlyOne(Class<T> serviceClass)
          throws IllegalArgumentException,
                 IllegalStateException
Loads a registered service for given serviceClass

Parameters:
serviceClass -
Returns:
Throws:
IllegalArgumentException - If serviceClass is null
IllegalStateException - If more than a single service is registered

onlyOne

<T> T onlyOne(Class<T> serviceClass,
              Class<? extends T> defaultImplementationClass)
          throws IllegalArgumentException,
                 IllegalStateException
Loads a registered service for given serviceClass. Reverts to the defaultImplementationClass if no other service is registered. If defaultImplemenationClass is registered as well, it simply ignores it during resolution.

Parameters:
serviceClass -
defaultImplementationClass -
Returns:
Throws:
IllegalArgumentException - If either serviceClass or defaultImplementationClass is null
IllegalStateException - If more than a single service is registered

ShrinkWrap Resolver SPI 2.0.0-cr-1

Copyright © 2013 JBoss by Red Hat. All Rights Reserved.