Interface IServiceLocator

All Known Subinterfaces:
IEditorSite, IIntroSite, IPageSite, IViewSite, IWorkbench, IWorkbenchPartSite, IWorkbenchSite, IWorkbenchWindow
All Known Implementing Classes:
EditorSite, MultiPageEditorSite, PageSite, PartSite, ViewSite, Workbench, WorkbenchWindow

public interface IServiceLocator

A component with which one or more services are registered. The services can be retrieved from this locator using some key -- typically the class representing the interface the service must implement. For example:

 IHandlerService service = workbenchWindow.getService(IHandlerService.class);
 

This interface is not to be implemented or extended by clients.

Since:
3.2
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> T
    getService(Class<T> api)
    Retrieves the service corresponding to the given API.
    boolean
    hasService(Class<?> api)
    Whether this service exists within the scope of this service locator.
  • Method Details

    • getService

      <T> T getService(Class<T> api)
      Retrieves the service corresponding to the given API.
      Parameters:
      api - This is the interface that the service implements. Must not be null.
      Returns:
      The service, or null if no such service could be found.
    • hasService

      boolean hasService(Class<?> api)
      Whether this service exists within the scope of this service locator. This does not include looking for the service within the scope of the parents. This method can be used to determine whether a particular service supports nesting in this scope.
      Parameters:
      api - This is the interface that the service implements. Must not be null.
      Returns:
      true if the service locator can find a service for the given API; false otherwise.