- All Superinterfaces:
AutoCloseable
A simple service locator for initialization purposes and external services provided by
plugins. If there is no suitable
name
for the service use
"default". -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Services that do not have multiple options or need a default should use "default". -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
<T> List
<T> Finds all services of a specific type.default <T> @Nullable T
findOrNull
(Class<T> type) Finds a service with the default name of "default" or null.<T> @Nullable T
findOrNull
(Class<T> type, String name) Finds a service or null.static ServiceRegistry
of()
Creates an empty service registry.void
onClose
(AutoCloseable closeable) Add a closeable to close on close in LIFO order.<T> void
Puts a service.default <T> void
Puts a service.<T> T
putIfAbsent
(Class<T> type, String name, Supplier<T> supplier) Puts a service if absent.default <T> T
putIfAbsent
(Class<T> type, Supplier<T> supplier) Puts a service if absent.
-
Field Details
-
DEFAULT_SERVICE_NAME
Services that do not have multiple options or need a default should use "default".- See Also:
-
-
Method Details
-
of
Creates an empty service registry.- Returns:
- registry.
-
put
Puts a service.- Type Parameters:
T
- service type.- Parameters:
type
- type.name
- name of service.service
- service instance.
-
put
Puts a service.- Type Parameters:
T
- service type.- Parameters:
type
- type.service
- service instance.
-
putIfAbsent
Puts a service if absent.- Type Parameters:
T
- service type.- Parameters:
type
- type.name
- name of the service.supplier
- service instance.- Returns:
- service.
-
putIfAbsent
Puts a service if absent.- Type Parameters:
T
- service type.- Parameters:
type
- type.supplier
- service instance.- Returns:
- service.
-
findOrNull
Finds a service or null.- Type Parameters:
T
- service type- Parameters:
type
- service class.name
- name of service.- Returns:
- service or
null
.
-
findOrNull
Finds a service with the default name of "default" or null.- Type Parameters:
T
- service type- Parameters:
type
- service class.- Returns:
- service or
null
.
-
find
Finds all services of a specific type.- Type Parameters:
T
- service type.- Parameters:
type
- service class.- Returns:
- list of services.
-
onClose
Add a closeable to close on close in LIFO order.- Parameters:
closeable
- closeable.
-
close
void close()- Specified by:
close
in interfaceAutoCloseable
-