public abstract class BasePluggableProviderService<T> extends java.lang.Object implements PluggableProviderService<T>
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.Class<? extends T> |
implementationClass |
protected java.lang.String |
name |
| Constructor and Description |
|---|
BasePluggableProviderService(java.lang.String name,
java.lang.Class<? extends T> implementationClass) |
| Modifier and Type | Method and Description |
|---|---|
<X> ProviderService<X> |
adapter(Converter<T,X> converter) |
<X extends T> |
createProviderInstance(java.lang.Class<X> clazz,
java.lang.String name)
default implementation of createProviderInstance
|
protected T |
createProviderInstanceFromType(java.lang.Class<? extends T> execClass,
java.lang.String providerName) |
T |
createScriptProviderInstance(ScriptPluginProvider provider) |
java.lang.String |
getName() |
abstract ServiceProviderLoader |
getPluginManager() |
protected boolean |
hasValidProviderSignature(java.lang.Class clazz) |
boolean |
isScriptPluggable()
default implementation returns false, subclasses should override to
|
boolean |
isValidProviderClass(java.lang.Class clazz) |
java.util.List<ProviderIdent> |
listDescribableProviders()
default implementation of listDescribableProviders that can be used if subclasses implement
DescribableService |
java.util.List<Description> |
listDescriptions()
default implementation of listDescriptions that can be used if subclasses implement
DescribableService |
java.util.List<ProviderIdent> |
listProviders() |
T |
providerOfType(java.lang.String providerName) |
protected java.lang.Class<? extends T> implementationClass
protected java.lang.String name
public BasePluggableProviderService(java.lang.String name,
java.lang.Class<? extends T> implementationClass)
public boolean isValidProviderClass(java.lang.Class clazz)
isValidProviderClass in interface PluggableService<T>clazz - the classpublic <X extends T> T createProviderInstance(java.lang.Class<X> clazz, java.lang.String name) throws PluginException, ProviderCreationException
createProviderInstance in interface PluggableService<T>X - subtype of Tclazz - the classname - the provider namePluginException - if the plugin has an errorProviderCreationException - if creating the instance has an errorpublic T providerOfType(java.lang.String providerName) throws ExecutionServiceException
providerOfType in interface ProviderService<T>providerName - name of the service providerExecutionServiceException - on errorpublic abstract ServiceProviderLoader getPluginManager()
public java.util.List<ProviderIdent> listProviders()
listProviders in interface ProviderService<T>public boolean isScriptPluggable()
isScriptPluggable in interface PluggableService<T>public T createScriptProviderInstance(ScriptPluginProvider provider) throws PluginException
createScriptProviderInstance in interface PluggableService<T>provider - the script plugin providerPluginException - if the plugin has an errorprotected T createProviderInstanceFromType(java.lang.Class<? extends T> execClass, java.lang.String providerName) throws ProviderCreationException
ProviderCreationExceptionprotected boolean hasValidProviderSignature(java.lang.Class clazz)
public java.util.List<Description> listDescriptions()
DescribableServicelistDescriptions in interface DescribableServicepublic java.util.List<ProviderIdent> listDescribableProviders()
DescribableServicelistDescribableProviders in interface DescribableServicepublic <X> ProviderService<X> adapter(Converter<T,X> converter)
X - provider typeconverter - converterpublic java.lang.String getName()
getName in interface FrameworkSupportService