org.eclipse.aether.spi.locator

## Interface ServiceLocator

- All Known Implementing Classes:
    DefaultServiceLocator

      public interface ServiceLocator

  A simple infrastructure to programmatically wire the various components of the repository system together when it is used outside of an IoC container. Once a concrete implementation of a service locator has been setup, clients could use

       RepositorySystem repoSystem = serviceLocator.getService( RepositorySystem.class );

  to acquire the repository system. Components that implement `Service` will be given an opportunity to acquire further components from the locator, thereby allowing to create the complete object graph of the repository system.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `<T> T` | `getService(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.

- - ### Method Detail

    - #### getService

          <T> T getService(Class<T> type)

      Gets an instance of the specified service.
      Type Parameters:
        `T` - The service type.
      Parameters:
        `type` - The interface describing the service, must not be `null`.
      Returns:
        The service instance or `null` if the service could not be located/initialized.

    - #### getServices

          <T> List<T> getServices(Class<T> type)

      Gets all available instances of the specified service.
      Type Parameters:
        `T` - The service type.
      Parameters:
        `type` - The interface describing the service, must not be `null`.
      Returns:
        The (read-only) list of available service instances, never `null`.

Copyright © 2010-2013 The Eclipse Foundation. All Rights Reserved.