Package org.eclipse.aether.impl
Class DefaultServiceLocator
java.lang.Object
org.eclipse.aether.impl.DefaultServiceLocator
- All Implemented Interfaces:
ServiceLocator
A simple service locator that is already setup with all components from this library. To acquire a complete
repository system, clients need to add an artifact descriptor reader, a version resolver, a version range resolver
and optionally some repository connector and transporter factories to access remote repositories. Once the locator is
fully populated, the repository system can be created like this:
RepositorySystem repoSystem = serviceLocator.getService( RepositorySystem.class );Note: This class is not thread-safe. Clients are expected to create the service locator and the repository system on a single thread.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classstatic classA hook to customize the handling of errors encountered while locating a service implementation. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new service locator that already knows about all service implementations included this library. -
Method Summary
Modifier and TypeMethodDescriptionaddService(Class<T> type, Class<? extends T> impl) Adds an implementation class for a service.private <T> DefaultServiceLocator.Entry<T><T> TgetService(Class<T> type) Gets an instance of the specified service.<T> List<T>getServices(Class<T> type) Gets all available instances of the specified service.private voidserviceCreationFailed(Class<?> type, Class<?> impl, Throwable exception) voidsetErrorHandler(DefaultServiceLocator.ErrorHandler errorHandler) Sets the error handler to use.setService(Class<T> type, Class<? extends T> impl) Sets the implementation class for a service.setServices(Class<T> type, T... services) Sets the instances for a service.
-
Field Details
-
entries
-
errorHandler
-
-
Constructor Details
-
DefaultServiceLocator
public DefaultServiceLocator()Creates a new service locator that already knows about all service implementations included this library.
-
-
Method Details
-
getEntry
-
setService
Sets the implementation class for a service. The specified class must have a no-arg constructor (of any visibility). If the service implementation itself requires other services for its operation, it should implementServiceto gain access to this service locator.- Type Parameters:
T- The service type.- Parameters:
type- The interface describing the service, must not benull.impl- The implementation class of the service, must not benull.- Returns:
- This locator for chaining, never
null.
-
addService
Adds an implementation class for a service. The specified class must have a no-arg constructor (of any visibility). If the service implementation itself requires other services for its operation, it should implementServiceto gain access to this service locator.- Type Parameters:
T- The service type.- Parameters:
type- The interface describing the service, must not benull.impl- The implementation class of the service, must not benull.- Returns:
- This locator for chaining, never
null.
-
setServices
Sets the instances for a service.- Type Parameters:
T- The service type.- Parameters:
type- The interface describing the service, must not benull.services- The instances of the service, may benullbut must not containnullelements.- Returns:
- This locator for chaining, never
null.
-
getService
Description copied from interface:ServiceLocatorGets an instance of the specified service.- Specified by:
getServicein interfaceServiceLocator- Type Parameters:
T- The service type.- Parameters:
type- The interface describing the service, must not benull.- Returns:
- The service instance or
nullif the service could not be located/initialized.
-
getServices
Description copied from interface:ServiceLocatorGets all available instances of the specified service.- Specified by:
getServicesin interfaceServiceLocator- Type Parameters:
T- The service type.- Parameters:
type- The interface describing the service, must not benull.- Returns:
- The (read-only) list of available service instances, never
null.
-
serviceCreationFailed
-
setErrorHandler
Sets the error handler to use.- Parameters:
errorHandler- The error handler to use, may benullto ignore/swallow errors.
-