Class DefaultServiceRegistry

java.lang.Object
eu.cloudnetservice.driver.impl.registry.DefaultServiceRegistry
All Implemented Interfaces:
eu.cloudnetservice.driver.registry.ServiceRegistry

@Singleton @Provides(eu.cloudnetservice.driver.registry.ServiceRegistry.class) public final class DefaultServiceRegistry extends Object implements eu.cloudnetservice.driver.registry.ServiceRegistry
Represents the default service registry implementation.
Since:
4.0
  • Field Details

  • Constructor Details

    • DefaultServiceRegistry

      public DefaultServiceRegistry()
  • Method Details

    • discoverServices

      public void discoverServices(@NonNull @NonNull Class<?> owner)
      Specified by:
      discoverServices in interface eu.cloudnetservice.driver.registry.ServiceRegistry
    • registerProvider

      @NonNull public <S> @NonNull eu.cloudnetservice.driver.registry.ServiceRegistryRegistration<S> registerProvider(@NonNull @NonNull Class<S> serviceType, @NonNull @NonNull String serviceName, @NonNull S serviceImplementation)
      Specified by:
      registerProvider in interface eu.cloudnetservice.driver.registry.ServiceRegistry
    • registerConstructingProvider

      @NonNull public <S> @NonNull eu.cloudnetservice.driver.registry.ServiceRegistryRegistration<S> registerConstructingProvider(@NonNull @NonNull Class<S> serviceType, @NonNull @NonNull String serviceName, @NonNull @NonNull Class<? extends S> implementationType)
      Specified by:
      registerConstructingProvider in interface eu.cloudnetservice.driver.registry.ServiceRegistry
    • unregisterAll

      public void unregisterAll(@NonNull @NonNull ClassLoader classLoader)
      Specified by:
      unregisterAll in interface eu.cloudnetservice.driver.registry.ServiceRegistry
    • registeredServiceTypes

      @NonNull public @UnmodifiableView @NonNull Collection<Class<?>> registeredServiceTypes()
      Specified by:
      registeredServiceTypes in interface eu.cloudnetservice.driver.registry.ServiceRegistry
    • registration

      public <S> @UnknownNullability eu.cloudnetservice.driver.registry.ServiceRegistryRegistration<S> registration(@NonNull @NonNull Class<S> service, @NonNull @NonNull String name)
      Specified by:
      registration in interface eu.cloudnetservice.driver.registry.ServiceRegistry
    • defaultRegistration

      public <S> @UnknownNullability eu.cloudnetservice.driver.registry.ServiceRegistryRegistration<S> defaultRegistration(@NonNull @NonNull Class<S> service)
      Specified by:
      defaultRegistration in interface eu.cloudnetservice.driver.registry.ServiceRegistry
    • registrations

      @NonNull public <S> @UnmodifiableView @NonNull Collection<eu.cloudnetservice.driver.registry.ServiceRegistryRegistration<S>> registrations(@NonNull @NonNull Class<S> service)
      Specified by:
      registrations in interface eu.cloudnetservice.driver.registry.ServiceRegistry