Package com.dtolabs.rundeck.core.plugins
Class BasePluggableProviderService<T>
- java.lang.Object
-
- com.dtolabs.rundeck.core.plugins.BasePluggableProviderService<T>
-
- All Implemented Interfaces:
FrameworkSupportService
,ProviderService<T>
,DescribableService
,JavaClassProviderLoadable<T>
,PluggableProviderService<T>
,PluggableService<T>
- Direct Known Subclasses:
BasePluggableProviderServiceImpl
,BasePluginProviderService
,FrameworkPluggableProviderService
,PluggableStoragePluginProviderService
public abstract class BasePluggableProviderService<T> extends java.lang.Object implements PluggableProviderService<T>, JavaClassProviderLoadable<T>
BasePluggableProviderService is an abstract base for a provider service which can load providers from plugins. Created by greg Date: 4/12/13 Time: 4:52 PM
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Class<? extends T>
implementationClass
protected java.lang.String
name
-
Constructor Summary
Constructors Constructor Description BasePluggableProviderService(java.lang.String name, java.lang.Class<? extends T> implementationClass)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description CloseableProvider<T>
closeableProviderOfType(java.lang.String providerName)
<X extends T>
TcreateProviderInstance(java.lang.Class<X> clazz, java.lang.String name)
default implementation of createProviderInstanceprotected T
createProviderInstanceFromType(java.lang.Class<? extends T> execClass, java.lang.String providerName)
java.lang.String
getName()
abstract ServiceProviderLoader
getPluginManager()
protected boolean
hasValidProviderSignature(java.lang.Class<?> clazz)
boolean
isValidProviderClass(java.lang.Class clazz)
java.util.List<ProviderIdent>
listDescribableProviders()
default implementation of listDescribableProviders that can be used if subclasses implementDescribableService
java.util.List<Description>
listDescriptions()
default implementation of listDescriptions that can be used if subclasses implementDescribableService
java.util.List<ProviderIdent>
listProviders()
T
providerOfType(java.lang.String providerName)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.dtolabs.rundeck.core.plugins.PluggableProviderService
adapter
-
Methods inherited from interface com.dtolabs.rundeck.core.plugins.PluggableService
canLoadWithLoader, loadCloseableWithLoader, loadWithLoader
-
-
-
-
Field Detail
-
implementationClass
protected java.lang.Class<? extends T> implementationClass
-
name
protected java.lang.String name
-
-
Constructor Detail
-
BasePluggableProviderService
public BasePluggableProviderService(java.lang.String name, java.lang.Class<? extends T> implementationClass)
-
-
Method Detail
-
isValidProviderClass
public boolean isValidProviderClass(java.lang.Class clazz)
- Specified by:
isValidProviderClass
in interfaceJavaClassProviderLoadable<T>
- Parameters:
clazz
- the class- Returns:
- true if the class is a valid provider class for the service
-
createProviderInstance
public <X extends T> T createProviderInstance(java.lang.Class<X> clazz, java.lang.String name) throws PluginException, ProviderCreationException
default implementation of createProviderInstance- Specified by:
createProviderInstance
in interfaceJavaClassProviderLoadable<T>
- Type Parameters:
X
- subtype of T- Parameters:
clazz
- the classname
- the provider name- Returns:
- Create provider instance from a class
- Throws:
PluginException
- if the plugin has an errorProviderCreationException
- if creating the instance has an error
-
closeableProviderOfType
public CloseableProvider<T> closeableProviderOfType(java.lang.String providerName) throws ExecutionServiceException
- Specified by:
closeableProviderOfType
in interfaceProviderService<T>
- Throws:
ExecutionServiceException
-
providerOfType
public T providerOfType(java.lang.String providerName) throws ExecutionServiceException
- Specified by:
providerOfType
in interfaceProviderService<T>
- Parameters:
providerName
- name of the service provider- Returns:
- the provider instance of the given name.
- Throws:
ExecutionServiceException
- on error
-
getPluginManager
public abstract ServiceProviderLoader getPluginManager()
- Returns:
- the plugin manager to use
-
listProviders
public java.util.List<ProviderIdent> listProviders()
- Specified by:
listProviders
in interfaceProviderService<T>
-
createProviderInstanceFromType
protected T createProviderInstanceFromType(java.lang.Class<? extends T> execClass, java.lang.String providerName) throws ProviderCreationException
- Throws:
ProviderCreationException
-
hasValidProviderSignature
protected boolean hasValidProviderSignature(java.lang.Class<?> clazz)
-
listDescriptions
public java.util.List<Description> listDescriptions()
default implementation of listDescriptions that can be used if subclasses implementDescribableService
- Specified by:
listDescriptions
in interfaceDescribableService
-
listDescribableProviders
public java.util.List<ProviderIdent> listDescribableProviders()
default implementation of listDescribableProviders that can be used if subclasses implementDescribableService
- Specified by:
listDescribableProviders
in interfaceDescribableService
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceFrameworkSupportService
- Returns:
- the name used to identify the service
-
-