Package com.bc.ceres.core
Interface ServiceRegistry<T>
- Type Parameters:
T
- The service type. All services are instances of that type.
- All Known Implementing Classes:
DefaultServiceRegistry
public interface ServiceRegistry<T>
A registry for services of a specific type.
- Since:
- 0.6
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addListener
(ServiceRegistryListener<T> listener) Adds a new registry listener.boolean
addService
(T service) Adds a new service to this registry.getService
(String className) Gets a registered service instance for the given class name.Gets all registered services.Gets the service type.void
removeListener
(ServiceRegistryListener<T> listener) Removes an existing registry listener.boolean
removeService
(T service) Removes an existing service from this registry.
-
Method Details
-
getServiceType
Gets the service type. All services in this registry are instances of this type.- Returns:
- The service type.
-
getServices
Gets all registered services.- Returns:
- A set of all services.
-
getService
Gets a registered service instance for the given class name.- Parameters:
className
- The name of the service's class.- Returns:
- The service instance or
null
if no such exists.
-
addService
Adds a new service to this registry. The method will automatically remove an already registered service of the same type. If the registry changes due to a call of this method, a change event will be fired.- Parameters:
service
- The service to be added.- Returns:
true
if the service has been added.
-
removeService
Removes an existing service from this registry. If the registry changes due to a call of this method, a change event will be fired.- Parameters:
service
- The service to be removed.- Returns:
true
if the service has been removed.
-
getListeners
List<ServiceRegistryListener<T>> getListeners()- Returns:
- The list of registry listeners.
-
addListener
Adds a new registry listener.- Parameters:
listener
- The registry listener to be added.
-
removeListener
Removes an existing registry listener.- Parameters:
listener
- The registry listener to be removed.
-