com.dtolabs.rundeck.core.execution.service
Class NodeSpecifiedService<T>

java.lang.Object
  extended by com.dtolabs.rundeck.core.plugins.BaseProviderRegistryService<T>
      extended by com.dtolabs.rundeck.core.plugins.PluggableProviderRegistryService<T>
          extended by com.dtolabs.rundeck.core.execution.service.NodeSpecifiedService<T>
All Implemented Interfaces:
FrameworkSupportService, ProviderService<T>, PluggableService<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, instanceregistry, registry
 
Constructor Summary
protected NodeSpecifiedService(Framework framework)
           
 
Method Summary
protected abstract  java.lang.String getDefaultProviderNameForNodeAndProject(INodeEntry node, java.lang.String project)
          Return name of default provider for this service
 T getProviderForNodeAndProject(INodeEntry node, java.lang.String project)
          Return a specific service provider that can be used for the node
protected abstract  java.lang.String getServiceProviderNodeAttributeForNode(INodeEntry node)
          Return name of Node attribute that specifies the service provider name for this service.
 
Methods inherited from class com.dtolabs.rundeck.core.plugins.PluggableProviderRegistryService
listProviders, providerOfType
 
Methods inherited from class com.dtolabs.rundeck.core.plugins.BaseProviderRegistryService
createProviderInstanceFromType, hasValidProviderSignature, 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.PluggableService
createProviderInstance, createScriptProviderInstance, isScriptPluggable, isValidProviderClass
 
Methods inherited from interface com.dtolabs.rundeck.core.common.FrameworkSupportService
getName
 

Constructor Detail

NodeSpecifiedService

protected NodeSpecifiedService(Framework framework)
Method Detail

getProviderForNodeAndProject

public T getProviderForNodeAndProject(INodeEntry node,
                                      java.lang.String project)
                               throws ExecutionServiceException
Return a specific service provider that can be used for the node

Throws:
ExecutionServiceException

getServiceProviderNodeAttributeForNode

protected abstract java.lang.String getServiceProviderNodeAttributeForNode(INodeEntry node)
Return 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)
Return name of default provider for this service