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
ProviderCreationException
protected boolean hasValidProviderSignature(java.lang.Class clazz)
public java.util.List<Description> listDescriptions()
DescribableService
listDescriptions
in interface DescribableService
public java.util.List<ProviderIdent> listDescribableProviders()
DescribableService
listDescribableProviders
in interface DescribableService
public <X> ProviderService<X> adapter(Converter<T,X> converter)
X
- provider typeconverter
- converterpublic java.lang.String getName()
getName
in interface FrameworkSupportService