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 Summary
FieldsModifier and TypeFieldDescription(package private) final Map<Class<?>, ServiceRegistrationsBinding<?>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<S> @UnknownNullability eu.cloudnetservice.driver.registry.ServiceRegistryRegistration<S> defaultRegistration(@NonNull Class<S> service) voiddiscoverServices(@NonNull Class<?> owner) <S> @NonNull eu.cloudnetservice.driver.registry.ServiceRegistryRegistration<S> registerConstructingProvider(@NonNull Class<S> serviceType, @NonNull String serviceName, @NonNull Class<? extends S> implementationType) <S> @NonNull eu.cloudnetservice.driver.registry.ServiceRegistryRegistration<S> registerProvider(@NonNull Class<S> serviceType, @NonNull String serviceName, S serviceImplementation) <S> @UnknownNullability eu.cloudnetservice.driver.registry.ServiceRegistryRegistration<S> registration(@NonNull Class<S> service, @NonNull String name) <S> @UnmodifiableView @NonNull Collection<eu.cloudnetservice.driver.registry.ServiceRegistryRegistration<S>> registrations(@NonNull Class<S> service) voidunregisterAll(@NonNull ClassLoader classLoader) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface eu.cloudnetservice.driver.registry.ServiceRegistry
defaultInstance, instance
-
Field Details
-
serviceBindings
-
-
Constructor Details
-
DefaultServiceRegistry
public DefaultServiceRegistry()
-
-
Method Details
-
discoverServices
-
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:
registerProviderin interfaceeu.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:
registerConstructingProviderin interfaceeu.cloudnetservice.driver.registry.ServiceRegistry
-
unregisterAll
- Specified by:
unregisterAllin interfaceeu.cloudnetservice.driver.registry.ServiceRegistry
-
registeredServiceTypes
- Specified by:
registeredServiceTypesin interfaceeu.cloudnetservice.driver.registry.ServiceRegistry
-
registration
-
defaultRegistration
public <S> @UnknownNullability eu.cloudnetservice.driver.registry.ServiceRegistryRegistration<S> defaultRegistration(@NonNull @NonNull Class<S> service) - Specified by:
defaultRegistrationin interfaceeu.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:
registrationsin interfaceeu.cloudnetservice.driver.registry.ServiceRegistry
-