Package com.dtolabs.rundeck.core.plugins
Class AbstractProviderRegistryService<T>
- java.lang.Object
-
- com.dtolabs.rundeck.core.plugins.AbstractProviderRegistryService<T>
-
- Type Parameters:
T-
- All Implemented Interfaces:
FrameworkSupportService,ProviderService<T>,ProviderRegistryService<T>
- Direct Known Subclasses:
BaseProviderRegistryService,IFrameworkProviderRegistryService
public abstract class AbstractProviderRegistryService<T> extends java.lang.Object implements ProviderRegistryService<T>, ProviderService<T>
Common base for registry based services providers
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.HashMap<java.lang.String,T>instanceregistryprotected java.util.HashMap<java.lang.String,java.lang.Class<? extends T>>registry
-
Constructor Summary
Constructors Constructor Description AbstractProviderRegistryService()AbstractProviderRegistryService(boolean cacheInstances)AbstractProviderRegistryService(java.util.Map<java.lang.String,java.lang.Class<? extends T>> classes)AbstractProviderRegistryService(java.util.Map<java.lang.String,java.lang.Class<? extends T>> registry, boolean cacheInstances)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CloseableProvider<T>closeableProviderOfType(java.lang.String providerName)protected TcreateProviderInstanceFromType(java.lang.Class<? extends T> execClass, java.lang.String providerName)protected java.util.Map<java.lang.String,java.lang.Class<? extends T>>getRegistryMap()Return the map of registered classesprotected booleanhasValidProviderSignature(java.lang.Class<?> clazz)java.util.List<ProviderIdent>listProviders()TproviderOfType(java.lang.String providerName)Return the provider instance of the given name.voidregisterClass(java.lang.String name, java.lang.Class<? extends T> clazz)Register a class for a providervoidregisterInstance(java.lang.String name, T object)Register an instance for a provider-
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.common.FrameworkSupportService
getName
-
Methods inherited from interface com.dtolabs.rundeck.core.plugins.ProviderRegistryService
isCacheInstances, setCacheInstances
-
-
-
-
Constructor Detail
-
AbstractProviderRegistryService
public AbstractProviderRegistryService()
-
AbstractProviderRegistryService
public AbstractProviderRegistryService(boolean cacheInstances)
-
AbstractProviderRegistryService
public AbstractProviderRegistryService(java.util.Map<java.lang.String,java.lang.Class<? extends T>> classes)
-
AbstractProviderRegistryService
public AbstractProviderRegistryService(java.util.Map<java.lang.String,java.lang.Class<? extends T>> registry, boolean cacheInstances)
-
-
Method Detail
-
registerClass
public void registerClass(java.lang.String name, java.lang.Class<? extends T> clazz)Description copied from interface:ProviderRegistryServiceRegister a class for a provider- Specified by:
registerClassin interfaceProviderRegistryService<T>- Parameters:
name- provider nameclazz- class
-
registerInstance
public void registerInstance(java.lang.String name, T object)Description copied from interface:ProviderRegistryServiceRegister an instance for a provider- Specified by:
registerInstancein interfaceProviderRegistryService<T>- Parameters:
name- providerobject- object
-
providerOfType
public T providerOfType(java.lang.String providerName) throws ExecutionServiceException
Return the provider instance of the given name.- Specified by:
providerOfTypein interfaceProviderService<T>- Parameters:
providerName- name of the service provider- Returns:
- the provider instance of the given name.
- Throws:
ExecutionServiceException- on error
-
closeableProviderOfType
public CloseableProvider<T> closeableProviderOfType(java.lang.String providerName) throws ExecutionServiceException
- Specified by:
closeableProviderOfTypein interfaceProviderService<T>- Throws:
ExecutionServiceException
-
getRegistryMap
protected java.util.Map<java.lang.String,java.lang.Class<? extends T>> getRegistryMap()
Return the map of registered classes- Returns:
- the internal map
-
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)
-
-