static <T> java.lang.String[] |
DiscoverClass.discoverClassNames(SPInterface<T> spi,
java.util.Properties properties) |
Discover names of SPI implementation Classes from properties.
|
static <T,S extends T> java.lang.Class<S> |
DiscoverClass.find(ClassLoaders loaders,
SPInterface<T> spi,
PropertiesHolder properties,
DefaultClassHolder<T> defaultImpl) |
Find class implementing SPI.
|
static <T> T |
DiscoverSingleton.find(ClassLoaders loaders,
SPInterface<T> spi,
PropertiesHolder properties,
DefaultClassHolder<T> defaultImpl) |
Find implementation of SPI.
|
<S extends T> java.lang.Class<S> |
DefaultClassHolder.getDefaultClass(SPInterface<T> spi,
ClassLoaders loaders) |
Returns the default class, loading it if necessary
and verifying that it implements the SPI
(this forces the check, no way out..).
|
java.util.Properties |
PropertiesHolder.getProperties(SPInterface<?> spi,
ClassLoaders loaders) |
Returns the Properties instance, loaded if necessary from propertiesFileName.
|
static <T> T |
DiscoverClass.newInstance(ClassLoaders loaders,
SPInterface<T> spi,
PropertiesHolder properties,
DefaultClassHolder<T> defaultImpl) |
Create new instance of class implementing SPI.
|
static <T,S extends T> java.util.Enumeration<S> |
Service.providers(SPInterface<T> spi,
ClassLoaders loaders) |
This version lets you specify constructor arguments..
|