Package com.dtolabs.rundeck.core.plugins
Class PluginManagerService
- java.lang.Object
-
- com.dtolabs.rundeck.core.plugins.PluginManagerService
-
- All Implemented Interfaces:
FrameworkSupportService
,ServiceProviderLoader
public class PluginManagerService extends java.lang.Object implements FrameworkSupportService, ServiceProviderLoader
PluginManagerService is ...
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
SERVICE_NAME
-
Constructor Summary
Constructors Constructor Description PluginManagerService()
Create a PluginManagerServicePluginManagerService(java.io.File extdir, java.io.File cachedir, PluginCache cache)
Create a PluginManagerService for the given directory and cache directory
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> PluggableProviderService<T>
createPluginService(java.lang.Class<T> type, java.lang.String serviceName)
Createstatic FileCache<ProviderLoader>
createProviderLoaderFileCache()
static PluginManagerService
getInstanceForFramework(Framework framework, IServicesRegistration registration)
java.lang.String
getName()
PluginMetadata
getPluginMetadata(java.lang.String service, java.lang.String provider)
PluginResourceLoader
getResourceLoader(java.lang.String service, java.lang.String provider)
java.util.List<ProviderIdent>
listProviders()
<T> CloseableProvider<T>
loadCloseableProvider(PluggableService<T> service, java.lang.String providerName)
Create a provider instance for the service<T> T
loadProvider(PluggableService<T> service, java.lang.String providerName)
Create a provider instance for the service
-
-
-
Field Detail
-
SERVICE_NAME
public static final java.lang.String SERVICE_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PluginManagerService
public PluginManagerService()
Create a PluginManagerService
-
PluginManagerService
public PluginManagerService(java.io.File extdir, java.io.File cachedir, PluginCache cache)
Create a PluginManagerService for the given directory and cache directory- Parameters:
extdir
- plugin dircachedir
- cache dir
-
-
Method Detail
-
createPluginService
public <T> PluggableProviderService<T> createPluginService(java.lang.Class<T> type, java.lang.String serviceName)
Create- Specified by:
createPluginService
in interfaceServiceProviderLoader
- Type Parameters:
T
-- Parameters:
type
-serviceName
-- Returns:
-
createProviderLoaderFileCache
public static FileCache<ProviderLoader> createProviderLoaderFileCache()
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceFrameworkSupportService
- Returns:
- the name used to identify the service
-
getInstanceForFramework
public static PluginManagerService getInstanceForFramework(Framework framework, IServicesRegistration registration)
-
listProviders
public java.util.List<ProviderIdent> listProviders()
- Specified by:
listProviders
in interfaceServiceProviderLoader
- Returns:
- the available providers
-
loadCloseableProvider
public <T> CloseableProvider<T> loadCloseableProvider(PluggableService<T> service, java.lang.String providerName) throws ProviderLoaderException
Description copied from interface:ServiceProviderLoader
Create a provider instance for the service- Specified by:
loadCloseableProvider
in interfaceServiceProviderLoader
- Type Parameters:
T
- service type- Parameters:
service
- serviceproviderName
- provider- Returns:
- closeable provider which can close loaded resources at completion
- Throws:
ProviderLoaderException
-
loadProvider
public <T> T loadProvider(PluggableService<T> service, java.lang.String providerName) throws ProviderLoaderException
Description copied from interface:ServiceProviderLoader
Create a provider instance for the service- Specified by:
loadProvider
in interfaceServiceProviderLoader
- Type Parameters:
T
- service class- Parameters:
service
- the serviceproviderName
- the name of the provider to load- Returns:
- the provider instance
- Throws:
ProviderLoaderException
- if the provider cannot be found or there is an error loading it
-
getResourceLoader
public PluginResourceLoader getResourceLoader(java.lang.String service, java.lang.String provider) throws ProviderLoaderException
- Specified by:
getResourceLoader
in interfaceServiceProviderLoader
- Throws:
ProviderLoaderException
-
getPluginMetadata
public PluginMetadata getPluginMetadata(java.lang.String service, java.lang.String provider) throws ProviderLoaderException
- Specified by:
getPluginMetadata
in interfaceServiceProviderLoader
- Throws:
ProviderLoaderException
-
-