Class NodeSpecifiedService<T>
- java.lang.Object
-
- com.dtolabs.rundeck.core.plugins.AbstractProviderRegistryService<T>
-
- com.dtolabs.rundeck.core.plugins.BaseProviderRegistryService<T>
-
- com.dtolabs.rundeck.core.plugins.PluggableProviderRegistryService<T>
-
- com.dtolabs.rundeck.core.execution.service.NodeSpecifiedService<T>
-
- All Implemented Interfaces:
FrameworkSupportService
,ProviderService<T>
,DescribableService
,PluggableProviderService<T>
,PluggableService<T>
,ProviderRegistryService<T>
- Direct Known Subclasses:
FileCopierService
,NodeExecutorService
public abstract class NodeSpecifiedService<T> extends PluggableProviderRegistryService<T> implements PluggableService<T>
NodeSpecifiedService uses node metadata to select service provider implementation.
-
-
Field Summary
-
Fields inherited from class com.dtolabs.rundeck.core.plugins.BaseProviderRegistryService
framework
-
Fields inherited from class com.dtolabs.rundeck.core.plugins.AbstractProviderRegistryService
instanceregistry, registry
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
NodeSpecifiedService(Framework framework)
protected
NodeSpecifiedService(Framework framework, boolean cacheInstances)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract java.lang.String
getDefaultProviderNameForNodeAndProject(INodeEntry node, java.lang.String project)
T
getProviderForNodeAndProject(INodeEntry node, ExecutionContext context)
protected abstract java.lang.String
getServiceProviderNodeAttributeForNode(INodeEntry node)
-
Methods inherited from class com.dtolabs.rundeck.core.plugins.PluggableProviderRegistryService
closeableProviderOfType, listProviders, providerOfType
-
Methods inherited from class com.dtolabs.rundeck.core.plugins.BaseProviderRegistryService
createProviderInstanceFromType, hasValidProviderSignature
-
Methods inherited from class com.dtolabs.rundeck.core.plugins.AbstractProviderRegistryService
registerClass, registerInstance
-
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.configuration.DescribableService
listDescribableProviders, listDescriptions
-
Methods inherited from interface com.dtolabs.rundeck.core.common.FrameworkSupportService
getName
-
Methods inherited from interface com.dtolabs.rundeck.core.plugins.PluggableProviderService
adapter
-
Methods inherited from interface com.dtolabs.rundeck.core.plugins.PluggableService
canLoadWithLoader, loadCloseableWithLoader, loadWithLoader
-
Methods inherited from interface com.dtolabs.rundeck.core.plugins.ProviderRegistryService
isCacheInstances, registerClass, registerInstance, setCacheInstances
-
-
-
-
Method Detail
-
getProviderForNodeAndProject
public T getProviderForNodeAndProject(INodeEntry node, ExecutionContext context) throws ExecutionServiceException
- Parameters:
node
- nodecontext
- context- Returns:
- a specific service provider that can be used for the node
- Throws:
ExecutionServiceException
- on error
-
getServiceProviderNodeAttributeForNode
protected abstract java.lang.String getServiceProviderNodeAttributeForNode(INodeEntry node)
- Parameters:
node
- node- Returns:
- name of Node attribute that specifies the service provider name for this service.
-
getDefaultProviderNameForNodeAndProject
protected abstract java.lang.String getDefaultProviderNameForNodeAndProject(INodeEntry node, java.lang.String project)
- Parameters:
node
- nodeproject
- project- Returns:
- name of default provider for this service
-
-