Interface ServiceProviderLoader

  • All Known Implementing Classes:
    PluginManagerService

    public interface ServiceProviderLoader
    ServiceProviderLoader creates a service provider instance given a provider name
    • Method Detail

      • loadProvider

        <T> T loadProvider​(PluggableService<T> service,
                           java.lang.String providerName)
                    throws ProviderLoaderException
        Create a provider instance for the service
        Type Parameters:
        T - service class
        Parameters:
        service - the service
        providerName - 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
      • loadCloseableProvider

        <T> CloseableProvider<T> loadCloseableProvider​(PluggableService<T> service,
                                                       java.lang.String providerName)
                                                throws ProviderLoaderException
        Create a provider instance for the service
        Type Parameters:
        T - service type
        Parameters:
        service - service
        providerName - provider
        Returns:
        closeable provider which can close loaded resources at completion
        Throws:
        ProviderLoaderException
      • createPluginService

        <T> PluggableProviderService<T> createPluginService​(java.lang.Class<T> type,
                                                            java.lang.String serviceName)
        Create a plugin service for the given type
        Type Parameters:
        T - base type
        Parameters:
        type - base interface class for the service
        serviceName - name of the service
        Returns:
        service
      • listProviders

        java.util.List<ProviderIdent> listProviders()
        Returns:
        the available providers