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 protectedNodeSpecifiedService(Framework framework)protectedNodeSpecifiedService(Framework framework, boolean cacheInstances)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract java.lang.StringgetDefaultProviderNameForNodeAndProject(INodeEntry node, java.lang.String project)TgetProviderForNodeAndProject(INodeEntry node, ExecutionContext context)protected abstract java.lang.StringgetServiceProviderNodeAttributeForNode(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
getRegistryMap, 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
-
-