Interface ServicesManager


public interface ServicesManager
Represents a manager of services, registered by plugins and probably used by other plugins
  • Method Details

    • register

      <T> void register(Plugin plugin, Class<T> service, T provider, int priority)
      Registers a service and sorts it by the specified priority.
      Type Parameters:
      T - type
      Parameters:
      plugin - plugin registerer
      service - service registered
      provider - service instance
      priority - priority of the service. should be a number of which: -10, 1 or 10
    • register

      default <T> void register(Plugin plugin, Class<T> service, T provider)
      Registers a service
      Type Parameters:
      T - type
      Parameters:
      plugin - plugin registerer
      service - service registered
      provider - service instance
      See Also:
    • unregister

      <T> void unregister(Plugin plugin, Class<T> service)
      Unregisters a service
      Type Parameters:
      T - type
      Parameters:
      plugin - plugin registerer of this service
      service - service class
    • unregister

      <T> void unregister(Class<T> service, T provider)
      Unregisters a service
      Type Parameters:
      T - type
      Parameters:
      service - the service's class you want to unregister
      provider - the provider you want to unregister
    • unregisterAll

      int unregisterAll(Plugin plugin)
      Unregisters all services, registered by the specified plugin
      Parameters:
      plugin - the plugin you wish to unregister its services
      Returns:
      the count of services unregistered
    • getRegistration

      <T> Optional<RegisteredServiceProvider<T>> getRegistration(Class<T> service)
      Gets registration for the specified service
      Type Parameters:
      T - type
      Parameters:
      service - service class
      Returns:
      service provider if registered, otherwise empty optional
    • hasRegistration

      default boolean hasRegistration(Class<?> service)
      Checks if the specified service has a registration
      Parameters:
      service - the service's class you want to check
      Returns:
      true if has
    • getRegistrations

      Collection<RegisteredServiceProvider<?>> getRegistrations(Plugin plugin)
      Returns a sorted by priority collection of all registered services by the specified plugin.
      Parameters:
      plugin - the plugin you wish to get the registrations of
      Returns:
      collection with the services, or empty collection if no services registered
    • getRegistrations

      Collection<RegisteredServiceProvider<?>> getRegistrations(Class<?> service)
      Returns an unmodifiable copy of all registrations for the specified service
      Parameters:
      service - the service of which you want to get the registrations
      Returns:
      registrations or empty collection if no found
    • getKnownServices

      Collection<Class<?>> getKnownServices()
      Returns a unmodifiable collection of the know services' classes.
      Returns:
      known services, or empty if no services registered