Package com.dtolabs.rundeck.core.plugins
Interface PluginRegistry
-
public interface PluginRegistryInterface for getting and configuring plugins
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T> ConfiguredPlugin<T>configurePluginByName(java.lang.String name, PluggableProviderService<T> service, IFramework framework, java.lang.String project, java.util.Map instanceConfiguration)Create and configure a plugin instance with the given bean or provider name, resolving properties via the framework and specified project properties as well as instance configuration.<T> ConfiguredPlugin<T>configurePluginByName(java.lang.String name, PluggableProviderService<T> service, PropertyResolverFactory.Factory resolverFactory, PropertyScope defaultScope)<T> ConfiguredPlugin<T>configurePluginByName(java.lang.String name, PluggableProviderService<T> service, PropertyResolver resolver, PropertyScope defaultScope)<T> ConfiguredPlugin<T>configurePluginByName(java.lang.String name, PluggableProviderService<T> service, java.util.Map configuration)Create and configure a plugin instance with the given bean or provider name<T> PluggableProviderService<T>createPluggableService(java.lang.Class<T> type)Create PluggableProviderService for plugin type that doesn't require Framework<T> PluggableProviderService<T>getFrameworkDependentPluggableService(java.lang.Class<T> type, Framework framework)get a PluggablePRoviderService for a core plugin type that requires Framework<T> java.util.Map<java.lang.String,java.lang.Object>getPluginConfigurationByName(java.lang.String name, PluggableProviderService<T> service, PropertyResolverFactory.Factory resolver, PropertyScope defaultScope)Return the mapped configuration properties for the plugin<T> java.util.Map<java.lang.String,java.lang.Object>getPluginConfigurationByName(java.lang.String name, PluggableProviderService<T> service, PropertyResolver resolver, PropertyScope defaultScope)Return the mapped configuration properties for the pluginPluginMetadatagetPluginMetadata(java.lang.String service, java.lang.String provider)Return plugin file metadataPluginResourceLoadergetResourceLoader(java.lang.String service, java.lang.String provider)Return plugin resource loaderbooleanhasRegisteredPlugin(java.lang.String type, java.lang.String name)<T> booleanisFrameworkDependentPluginType(java.lang.Class<T> type)Test if a type requires framework argument for plugin provider service<T> java.util.Map<java.lang.String,DescribedPlugin<T>>listPluginDescriptors(java.lang.Class groovyPluginType, PluggableProviderService<T> service)List all plugin type definitions that are either ServiceProvider plugins of the given service name, or are groovy plugins of the given type<T> java.util.Map<java.lang.String,java.lang.Object>listPlugins(java.lang.Class groovyPluginType, PluggableProviderService<T> service)List all plugin type definitions that are either ServiceProvider plugins of the given service name, or are groovy plugins of the given type<T> TloadPluginByName(java.lang.String name, PluggableProviderService<T> service)Load a plugin instance with the given bean or provider name<T> DescribedPlugin<T>loadPluginDescriptorByName(java.lang.String name, PluggableProviderService<T> service)Load a plugin instance with the given bean or provider namevoidregisterPlugin(java.lang.String type, java.lang.String name, java.lang.String beanName)Register a plugin into map using type and name as key to load it when requested<T> ConfiguredPlugin<T>retainConfigurePluginByName(java.lang.String name, PluggableProviderService<T> service, PropertyResolverFactory.Factory resolverFactory, PropertyScope defaultScope)Create and configure a plugin instance with the given bean or provider name using a property resolver and a default property scope, retain the instance to prevent unloading it<T> ConfiguredPlugin<T>retainConfigurePluginByName(java.lang.String name, PluggableProviderService<T> service, PropertyResolver resolver, PropertyScope defaultScope)Create and configure a plugin instance with the given bean or provider name using a property resolver and a default property scope, retain the instance to prevent unloading it<T> CloseableProvider<T>retainPluginByName(java.lang.String name, PluggableProviderService<T> service)ValidatedPluginvalidatePluginByName(java.lang.String name, PluggableProviderService service, IFramework framework, java.lang.String project, java.util.Map instanceConfiguration)Validate a provider for a service using the framework, project name and instance configuration mapValidatedPluginvalidatePluginByName(java.lang.String name, PluggableProviderService service, PropertyResolverFactory.Factory resolverFactory, PropertyScope defaultScope)Validate a provider for a service using a property resolver and a default property scopeValidatedPluginvalidatePluginByName(java.lang.String name, PluggableProviderService service, PropertyResolverFactory.Factory resolverFactory, PropertyScope defaultScope, PropertyScope ignoredScope)Validate a provider for a service using a property resolver and a default property scopeValidatedPluginvalidatePluginByName(java.lang.String name, PluggableProviderService service, PropertyResolver resolver, PropertyScope defaultScope)Validate a provider for a service using a property resolver and a default property scopeValidatedPluginvalidatePluginByName(java.lang.String name, PluggableProviderService service, PropertyResolver resolver, PropertyScope defaultScope, PropertyScope ignoredScope)Validate a provider for a service using a property resolver and a default property scope, and an ignoredScopeValidatedPluginvalidatePluginByName(java.lang.String name, PluggableProviderService service, java.util.Map instanceConfiguration)Validate a provider for a service with an instance configurationValidatedPluginvalidatePluginByName(java.lang.String name, PluggableProviderService service, java.util.Map instanceConfiguration, PropertyScope ignoredScope)Validate a provider for a service with an instance configuration
-
-
-
Method Detail
-
createPluggableService
<T> PluggableProviderService<T> createPluggableService(java.lang.Class<T> type)
Create PluggableProviderService for plugin type that doesn't require Framework- Type Parameters:
T-- Parameters:
type-- Returns:
-
isFrameworkDependentPluginType
<T> boolean isFrameworkDependentPluginType(java.lang.Class<T> type)
Test if a type requires framework argument for plugin provider service- Type Parameters:
T- type- Parameters:
type- type- Returns:
- true if the plugin type is a core framework plugin type
-
getFrameworkDependentPluggableService
<T> PluggableProviderService<T> getFrameworkDependentPluggableService(java.lang.Class<T> type, Framework framework)
get a PluggablePRoviderService for a core plugin type that requires Framework- Type Parameters:
T-- Parameters:
type-framework-- Returns:
-
configurePluginByName
<T> ConfiguredPlugin<T> configurePluginByName(java.lang.String name, PluggableProviderService<T> service, java.util.Map configuration)
Create and configure a plugin instance with the given bean or provider name- Parameters:
name- name of bean or providerservice- provider serviceconfiguration- map of configuration data- Returns:
- Map of [instance: plugin instance, configuration: resolved configuration properties]
-
configurePluginByName
<T> ConfiguredPlugin<T> configurePluginByName(java.lang.String name, PluggableProviderService<T> service, IFramework framework, java.lang.String project, java.util.Map instanceConfiguration)
Create and configure a plugin instance with the given bean or provider name, resolving properties via the framework and specified project properties as well as instance configuration.- Parameters:
name- name of bean or providerservice- provider serviceframework- frameworkproject- project name or nullinstanceConfiguration- configuration or null- Returns:
- Map of [instance: plugin instance, configuration: resolved configuration properties]
-
configurePluginByName
<T> ConfiguredPlugin<T> configurePluginByName(java.lang.String name, PluggableProviderService<T> service, PropertyResolverFactory.Factory resolverFactory, PropertyScope defaultScope)
- Type Parameters:
T-- Parameters:
name-service-resolverFactory-defaultScope-- Returns:
-
configurePluginByName
<T> ConfiguredPlugin<T> configurePluginByName(java.lang.String name, PluggableProviderService<T> service, PropertyResolver resolver, PropertyScope defaultScope)
-
retainConfigurePluginByName
<T> ConfiguredPlugin<T> retainConfigurePluginByName(java.lang.String name, PluggableProviderService<T> service, PropertyResolver resolver, PropertyScope defaultScope)
Create and configure a plugin instance with the given bean or provider name using a property resolver and a default property scope, retain the instance to prevent unloading it- Parameters:
name- name of bean or providerservice- provider serviceresolver- a property resolverdefaultScope- default scope to search for property values when undeclared- Returns:
- ConfiguredPlugin with a closeable reference to release the plugin
-
retainConfigurePluginByName
<T> ConfiguredPlugin<T> retainConfigurePluginByName(java.lang.String name, PluggableProviderService<T> service, PropertyResolverFactory.Factory resolverFactory, PropertyScope defaultScope)
Create and configure a plugin instance with the given bean or provider name using a property resolver and a default property scope, retain the instance to prevent unloading it- Parameters:
name- name of bean or providerservice- provider serviceresolverFactory- a property resolver factorydefaultScope- default scope to search for property values when undeclared- Returns:
- ConfiguredPlugin with a closeable reference to release the plugin
-
getPluginConfigurationByName
<T> java.util.Map<java.lang.String,java.lang.Object> getPluginConfigurationByName(java.lang.String name, PluggableProviderService<T> service, PropertyResolver resolver, PropertyScope defaultScope)Return the mapped configuration properties for the plugin- Parameters:
name- name of bean or providerservice- provider serviceresolver- a property resolverdefaultScope- default scope to search for property values when undeclared- Returns:
- Map of [instance: plugin instance, configuration: resolved configuration properties]
-
getPluginConfigurationByName
<T> java.util.Map<java.lang.String,java.lang.Object> getPluginConfigurationByName(java.lang.String name, PluggableProviderService<T> service, PropertyResolverFactory.Factory resolver, PropertyScope defaultScope)Return the mapped configuration properties for the plugin- Parameters:
name- name of bean or providerservice- provider serviceresolver- a property resolverdefaultScope- default scope to search for property values when undeclared- Returns:
- Map of [instance: plugin instance, configuration: resolved configuration properties]
-
validatePluginByName
ValidatedPlugin validatePluginByName(java.lang.String name, PluggableProviderService service, PropertyResolver resolver, PropertyScope defaultScope)
Validate a provider for a service using a property resolver and a default property scope- Parameters:
name- name of bean or providerservice- provider serviceresolver- a property resolverdefaultScope- default scope to search for property values when undeclared- Returns:
- Map containing valid:true/false, and report:
Validator.Report
-
validatePluginByName
ValidatedPlugin validatePluginByName(java.lang.String name, PluggableProviderService service, PropertyResolverFactory.Factory resolverFactory, PropertyScope defaultScope)
Validate a provider for a service using a property resolver and a default property scope- Parameters:
name- name of bean or providerservice- provider serviceresolver- a property resolverdefaultScope- default scope to search for property values when undeclared- Returns:
- Map containing valid:true/false, and report:
Validator.Report
-
validatePluginByName
ValidatedPlugin validatePluginByName(java.lang.String name, PluggableProviderService service, PropertyResolverFactory.Factory resolverFactory, PropertyScope defaultScope, PropertyScope ignoredScope)
Validate a provider for a service using a property resolver and a default property scope- Parameters:
name- name of bean or providerservice- provider serviceresolver- a property resolverdefaultScope- default scope to search for property values when undeclared- Returns:
- Map containing valid:true/false, and report:
Validator.Report
-
validatePluginByName
ValidatedPlugin validatePluginByName(java.lang.String name, PluggableProviderService service, PropertyResolver resolver, PropertyScope defaultScope, PropertyScope ignoredScope)
Validate a provider for a service using a property resolver and a default property scope, and an ignoredScope- Parameters:
name- name of bean or providerservice- provider serviceresolver- a property resolverdefaultScope- default scope to search for property values when undeclared- Returns:
- Map containing valid:true/false, and report:
Validator.Report
-
validatePluginByName
ValidatedPlugin validatePluginByName(java.lang.String name, PluggableProviderService service, IFramework framework, java.lang.String project, java.util.Map instanceConfiguration)
Validate a provider for a service using the framework, project name and instance configuration map- Parameters:
name- name of bean or providerservice- provider serviceframework- the frameworkproject- the project nameinstanceConfiguration- config map- Returns:
- Map containing valid:true/false, and report:
Validator.Report
-
validatePluginByName
ValidatedPlugin validatePluginByName(java.lang.String name, PluggableProviderService service, java.util.Map instanceConfiguration)
Validate a provider for a service with an instance configuration- Parameters:
name- name of bean or providerservice- provider serviceinstanceConfiguration- config map- Returns:
- Map containing valid:true/false, and report:
Validator.Report
-
validatePluginByName
ValidatedPlugin validatePluginByName(java.lang.String name, PluggableProviderService service, java.util.Map instanceConfiguration, PropertyScope ignoredScope)
Validate a provider for a service with an instance configuration- Parameters:
name- name of bean or providerservice- provider serviceinstanceConfiguration- config mapignoredScope- scope to ignore- Returns:
- Map containing valid:true/false, and report:
Validator.Report
-
loadPluginByName
<T> T loadPluginByName(java.lang.String name, PluggableProviderService<T> service)Load a plugin instance with the given bean or provider name- Parameters:
name- name of bean or providerservice- provider service- Returns:
-
retainPluginByName
<T> CloseableProvider<T> retainPluginByName(java.lang.String name, PluggableProviderService<T> service)
-
loadPluginDescriptorByName
<T> DescribedPlugin<T> loadPluginDescriptorByName(java.lang.String name, PluggableProviderService<T> service)
Load a plugin instance with the given bean or provider name- Parameters:
name- name of bean or providerservice- provider service- Returns:
- map containing [instance:(plugin instance), description: (map or Description),
-
listPlugins
<T> java.util.Map<java.lang.String,java.lang.Object> listPlugins(java.lang.Class groovyPluginType, PluggableProviderService<T> service)List all plugin type definitions that are either ServiceProvider plugins of the given service name, or are groovy plugins of the given type- Parameters:
groovyPluginType-- Returns:
-
listPluginDescriptors
<T> java.util.Map<java.lang.String,DescribedPlugin<T>> listPluginDescriptors(java.lang.Class groovyPluginType, PluggableProviderService<T> service)
List all plugin type definitions that are either ServiceProvider plugins of the given service name, or are groovy plugins of the given type- Parameters:
groovyPluginType-- Returns:
-
getResourceLoader
PluginResourceLoader getResourceLoader(java.lang.String service, java.lang.String provider) throws ProviderLoaderException
Return plugin resource loader- Parameters:
service-provider-- Returns:
- Throws:
ProviderLoaderException
-
getPluginMetadata
PluginMetadata getPluginMetadata(java.lang.String service, java.lang.String provider) throws ProviderLoaderException
Return plugin file metadata- Parameters:
service-provider-- Returns:
- Throws:
ProviderLoaderException
-
registerPlugin
void registerPlugin(java.lang.String type, java.lang.String name, java.lang.String beanName)Register a plugin into map using type and name as key to load it when requested- Parameters:
type-name-beanName-
-
hasRegisteredPlugin
boolean hasRegisteredPlugin(java.lang.String type, java.lang.String name)- Parameters:
type-name-- Returns:
- true if the plugin was registered
-
-