Package org.eclipse.ui

# Interface IWorkbenchSite

All Superinterfaces:
  `IAdaptable`, `IServiceLocator`, `IShellProvider`

All Known Subinterfaces:
  `IEditorSite`, `IIntroSite`, `IPageSite`, `IViewSite`, `IWorkbenchPartSite`

All Known Implementing Classes:
  `EditorSite`, `MultiPageEditorSite`, `PageSite`, `PartSite`, `ViewSite`

public interface IWorkbenchSite extends IAdaptable, IShellProvider, IServiceLocator
The common interface between the workbench and its parts, including pages within parts.

The workbench site supports a few `services` by default. If these services are used to allocate resources, it is important to remember to clean up those resources after you are done with them. Otherwise, the resources will exist until the workbench site is disposed. The supported services are:

- `ICommandService`
- `IContextService`
- `IHandlerService`
- `IBindingService`. Resources allocated through this service will not be cleaned up until the workbench shuts down.

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

Since:
  2.0
See Also:
  - `IWorkbenchPartSite`
  - `IPageSite`
Restriction:
  This interface is not intended to be implemented by clients.

## Method Summary

Modifier and Type
Method
Description
`IWorkbenchPage`
`getPage()`
Returns the page containing this workbench site.
`ISelectionProvider`
`getSelectionProvider()`
Returns the selection provider for this workbench site.
`Shell`
`getShell()`
Returns the shell for this workbench site.
`IWorkbenchWindow`
`getWorkbenchWindow()`
Returns the workbench window containing this workbench site.
`void`
`setSelectionProvider(ISelectionProvider provider)`
Sets the selection provider for this workbench site.

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Methods inherited from interface org.eclipse.ui.services.IServiceLocator

`getService, hasService`

## Method Details

### getPage

IWorkbenchPage getPage()
Returns the page containing this workbench site.

Returns:
  the page containing this workbench site

### getSelectionProvider

ISelectionProvider getSelectionProvider()
Returns the selection provider for this workbench site.

Returns:
  the selection provider, or `null` if none

### getShell

Shell getShell()
Returns the shell for this workbench site. Not intended to be called from outside the UI thread. Clients should call IWorkbench.getDisplay() to gain access to the display rather than calling getShell().getDisplay().

For compatibility, this method will not throw an exception if called from outside the UI thread, but the returned Shell may be wrong.

Specified by:
  `getShell` in interface `IShellProvider`
Returns:
  the shell for this workbench site

### getWorkbenchWindow

IWorkbenchWindow getWorkbenchWindow()
Returns the workbench window containing this workbench site.

Returns:
  the workbench window containing this workbench site

### setSelectionProvider

void setSelectionProvider(ISelectionProvider provider)
Sets the selection provider for this workbench site.

Parameters:
  `provider` - the selection provider, or `null` to clear it