org.sonatype.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.

Author:
Benjamin Bentmann

Method Summary
<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-2011 Sonatype, Inc.. All Rights Reserved.