public class PluginManagerService extends java.lang.Object implements FrameworkSupportService, ServiceProviderLoader
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
SERVICE_NAME |
Constructor and Description |
---|
PluginManagerService()
Create a PluginManagerService
|
PluginManagerService(java.io.File extdir,
java.io.File cachedir,
PluginCache cache)
Create a PluginManagerService for the given directory and cache directory
|
Modifier and Type | Method and Description |
---|---|
<T> PluggableProviderService<T> |
createPluginService(java.lang.Class<T> type,
java.lang.String serviceName)
Create
|
static FileCache<com.dtolabs.rundeck.core.plugins.ProviderLoader> |
createProviderLoaderFileCache() |
PluginCache |
getCache() |
java.io.File |
getCachedir() |
java.io.File |
getExtdir() |
static PluginManagerService |
getInstanceForFramework(Framework framework) |
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.Map<java.lang.String,java.lang.String> |
getServiceAliases() |
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
|
void |
setCache(PluginCache cache) |
void |
setCachedir(java.io.File cachedir) |
void |
setExtdir(java.io.File extdir) |
void |
setServiceAliases(java.util.Map<java.lang.String,java.lang.String> serviceAliases) |
public static final java.lang.String SERVICE_NAME
public PluginManagerService()
public PluginManagerService(java.io.File extdir, java.io.File cachedir, PluginCache cache)
extdir
- plugin dircachedir
- cache dirpublic <T> PluggableProviderService<T> createPluginService(java.lang.Class<T> type, java.lang.String serviceName)
createPluginService
in interface ServiceProviderLoader
T
- type
- serviceName
- public static FileCache<com.dtolabs.rundeck.core.plugins.ProviderLoader> createProviderLoaderFileCache()
public java.lang.String getName()
getName
in interface FrameworkSupportService
public static PluginManagerService getInstanceForFramework(Framework framework)
public java.util.List<ProviderIdent> listProviders()
listProviders
in interface ServiceProviderLoader
public <T> CloseableProvider<T> loadCloseableProvider(PluggableService<T> service, java.lang.String providerName) throws ProviderLoaderException
ServiceProviderLoader
loadCloseableProvider
in interface ServiceProviderLoader
T
- service typeservice
- serviceproviderName
- providerProviderLoaderException
public <T> T loadProvider(PluggableService<T> service, java.lang.String providerName) throws ProviderLoaderException
ServiceProviderLoader
loadProvider
in interface ServiceProviderLoader
T
- service classservice
- the serviceproviderName
- the name of the provider to loadProviderLoaderException
- if the provider cannot be found or there is an error loading itpublic PluginResourceLoader getResourceLoader(java.lang.String service, java.lang.String provider) throws ProviderLoaderException
getResourceLoader
in interface ServiceProviderLoader
ProviderLoaderException
public PluginMetadata getPluginMetadata(java.lang.String service, java.lang.String provider) throws ProviderLoaderException
getPluginMetadata
in interface ServiceProviderLoader
ProviderLoaderException
public java.io.File getExtdir()
public void setExtdir(java.io.File extdir)
public java.io.File getCachedir()
public void setCachedir(java.io.File cachedir)
public PluginCache getCache()
public void setCache(PluginCache cache)
public java.util.Map<java.lang.String,java.lang.String> getServiceAliases()
public void setServiceAliases(java.util.Map<java.lang.String,java.lang.String> serviceAliases)