Interface ServiceManager

All Known Implementing Classes:
NKServiceManager

public interface ServiceManager
Since:
16-11-20
  • Method Details

    • register

      <T> boolean register(Class<T> service, T provider, Plugin plugin, ServicePriority priority)
      Register an object as a service's provider.
      Parameters:
      service - the service
      provider - the service provider
      plugin - the plugin
      priority - the priority
      Returns:
      true, or false only if provider already registered
    • cancel

      Cancel service's provider(s) offered this plugin.
      Parameters:
      plugin - the plugin
      Returns:
      a ImmutableList contains cancelled RegisteredServiceProvider
    • cancel

      <T> RegisteredServiceProvider<T> cancel(Class<T> service, T provider)
      Cancel a service's provider.
      Parameters:
      service - the service
      provider - the provider
      Returns:
      the cancelled RegisteredServiceProvider, or null if not any provider cancelled
    • getProvider

      <T> RegisteredServiceProvider<T> getProvider(Class<T> service)
      Return the service's provider.
      Parameters:
      service - the target service
      Returns:
      a RegisteredServiceProvider registered highest priority, or null if not exists
    • getKnownService

      List<Class<?>> getKnownService()
      Return the known service(s).
      Returns:
      a ImmutableList contains the known service(s)
    • getRegistrations

      List<RegisteredServiceProvider<?>> getRegistrations(Plugin plugin)
    • getRegistrations

      <T> List<RegisteredServiceProvider<T>> getRegistrations(Class<T> service)
    • isProvidedFor

      <T> boolean isProvidedFor(Class<T> service)