Package de.eimmer.zusatzmodul
Class EinfacherDiensteGeschaeftsfuehrer
java.lang.Object
de.eimmer.zusatzmodul.EinfacherDiensteGeschaeftsfuehrer
- All Implemented Interfaces:
DiensteGeschaeftsfuehrer
A simple services manager.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGet a list of known services.<T> RegistrierterDienstAnbieter<T>
getRegistration
(Class<T> service) Queries for a provider registration.getRegistrations
(Zusatzmodul zusatzmodul) Get registrations of providers for a zusatzmodul.<T> List<RegistrierterDienstAnbieter<T>>
getRegistrations
(Class<T> service) Get registrations of providers for a service.<T> boolean
isProvidedFor
(Class<T> service) Returns whether a provider has been registered for a service.<T> T
Queries for a provider.<T> void
register
(Class<T> service, T provider, Zusatzmodul zusatzmodul, DienstPrioritaet priority) Register a provider of a service.void
unregister
(Class<?> service, Object provider) Unregister a particular provider for a particular service.void
unregister
(Object provider) Unregister a particular provider.void
unregisterAll
(Zusatzmodul zusatzmodul) Unregister all the providers registered by a particular zusatzmodul.
-
Constructor Details
-
EinfacherDiensteGeschaeftsfuehrer
public EinfacherDiensteGeschaeftsfuehrer()
-
-
Method Details
-
register
public <T> void register(@NotNull Class<T> service, @NotNull T provider, @NotNull Zusatzmodul zusatzmodul, @NotNull DienstPrioritaet priority) Register a provider of a service.- Specified by:
register
in interfaceDiensteGeschaeftsfuehrer
- Type Parameters:
T
- Provider- Parameters:
service
- service classprovider
- provider to registerzusatzmodul
- zusatzmodul with the providerpriority
- priority of the provider
-
unregisterAll
Unregister all the providers registered by a particular zusatzmodul.- Specified by:
unregisterAll
in interfaceDiensteGeschaeftsfuehrer
- Parameters:
zusatzmodul
- The zusatzmodul
-
unregister
Unregister a particular provider for a particular service.- Specified by:
unregister
in interfaceDiensteGeschaeftsfuehrer
- Parameters:
service
- The service interfaceprovider
- The service provider implementation
-
unregister
Unregister a particular provider.- Specified by:
unregister
in interfaceDiensteGeschaeftsfuehrer
- Parameters:
provider
- The service provider implementation
-
load
Queries for a provider. This may return if no provider has been registered for a service. The highest priority provider is returned.- Specified by:
load
in interfaceDiensteGeschaeftsfuehrer
- Type Parameters:
T
- The service interface- Parameters:
service
- The service interface- Returns:
- provider or null
-
getRegistration
Queries for a provider registration. This may return if no provider has been registered for a service.- Specified by:
getRegistration
in interfaceDiensteGeschaeftsfuehrer
- Type Parameters:
T
- The service interface- Parameters:
service
- The service interface- Returns:
- provider registration or null
-
getRegistrations
@NotNull public List<RegistrierterDienstAnbieter<?>> getRegistrations(@NotNull Zusatzmodul zusatzmodul) Get registrations of providers for a zusatzmodul.- Specified by:
getRegistrations
in interfaceDiensteGeschaeftsfuehrer
- Parameters:
zusatzmodul
- The zusatzmodul- Returns:
- provider registrations
-
getRegistrations
@NotNull public <T> List<RegistrierterDienstAnbieter<T>> getRegistrations(@NotNull Class<T> service) Get registrations of providers for a service. The returned list is an unmodifiable copy.- Specified by:
getRegistrations
in interfaceDiensteGeschaeftsfuehrer
- Type Parameters:
T
- The service interface- Parameters:
service
- The service interface- Returns:
- a copy of the list of registrations
-
getKnownServices
Get a list of known services. A service is known if it has registered providers for it.- Specified by:
getKnownServices
in interfaceDiensteGeschaeftsfuehrer
- Returns:
- a copy of the set of known services
-
isProvidedFor
Returns whether a provider has been registered for a service.- Specified by:
isProvidedFor
in interfaceDiensteGeschaeftsfuehrer
- Type Parameters:
T
- service- Parameters:
service
- service to check- Returns:
- true if and only if there are registered providers
-