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>
instanceregistry
protected 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 T
createProviderInstanceFromType(java.lang.Class<? extends T> execClass, java.lang.String providerName)
protected boolean
hasValidProviderSignature(java.lang.Class<?> clazz)
java.util.List<ProviderIdent>
listProviders()
T
providerOfType(java.lang.String providerName)
Return the provider instance of the given name.void
registerClass(java.lang.String name, java.lang.Class<? extends T> clazz)
Register a class for a providervoid
registerInstance(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:ProviderRegistryService
Register a class for a provider- Specified by:
registerClass
in interfaceProviderRegistryService<T>
- Parameters:
name
- provider nameclazz
- class
-
registerInstance
public void registerInstance(java.lang.String name, T object)
Description copied from interface:ProviderRegistryService
Register an instance for a provider- Specified by:
registerInstance
in 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:
providerOfType
in 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:
closeableProviderOfType
in interfaceProviderService<T>
- Throws:
ExecutionServiceException
-
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)
-
-