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>implementationClassprotected java.lang.Stringname
-
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 TcreateProviderInstanceFromType(java.lang.Class<? extends T> execClass, java.lang.String providerName)java.lang.StringgetName()abstract ServiceProviderLoadergetPluginManager()protected booleanhasValidProviderSignature(java.lang.Class<?> clazz)booleanisValidProviderClass(java.lang.Class clazz)java.util.List<ProviderIdent>listDescribableProviders()default implementation of listDescribableProviders that can be used if subclasses implementDescribableServicejava.util.List<Description>listDescriptions()default implementation of listDescriptions that can be used if subclasses implementDescribableServicejava.util.List<ProviderIdent>listProviders()TproviderOfType(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:
isValidProviderClassin 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:
createProviderInstancein 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:
closeableProviderOfTypein interfaceProviderService<T>- Throws:
ExecutionServiceException
-
providerOfType
public T providerOfType(java.lang.String providerName) throws ExecutionServiceException
- Specified by:
providerOfTypein 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:
listProvidersin 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:
listDescriptionsin interfaceDescribableService
-
listDescribableProviders
public java.util.List<ProviderIdent> listDescribableProviders()
default implementation of listDescribableProviders that can be used if subclasses implementDescribableService- Specified by:
listDescribableProvidersin interfaceDescribableService
-
getName
public java.lang.String getName()
- Specified by:
getNamein interfaceFrameworkSupportService- Returns:
- the name used to identify the service
-
-