# Class AbstractTextEditor.SelectionProvider

java.lang.Object
org.eclipse.ui.texteditor.AbstractTextEditor.SelectionProvider

All Implemented Interfaces:
  `ISelectionValidator, IPostSelectionProvider, ISelectionProvider`

Enclosing class:
  `AbstractTextEditor`

protected class AbstractTextEditor.SelectionProvider extends Object implements IPostSelectionProvider, ISelectionValidator
Editor specific selection provider which wraps the source viewer's selection provider.

Since:
  3.4 protected, was added in 2.1 as private class

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SelectionProvider()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addPostSelectionChangedListener(ISelectionChangedListener listener)`
Adds a listener for post selection changes in this selection provider.
`void`
`addSelectionChangedListener(ISelectionChangedListener listener)`
Adds a listener for selection changes in this selection provider.
`ISelection`
`getSelection()`
Returns the current selection for this provider.
`boolean`
`isValid(ISelection postSelection)`
Tests whether the given post selection is still valid.
`void`
`removePostSelectionChangedListener(ISelectionChangedListener listener)`
Removes the given listener for post selection changes from this selection provider.
`void`
`removeSelectionChangedListener(ISelectionChangedListener listener)`
Removes the given selection change listener from this selection provider.
`void`
`setSelection(ISelection selection)`
Sets the current selection for this selection provider.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SelectionProvider

protected SelectionProvider()

## Method Details

### addSelectionChangedListener

public void addSelectionChangedListener(ISelectionChangedListener listener)
Description copied from interface: `ISelectionProvider`
Adds a listener for selection changes in this selection provider. Has no effect if an identical listener is already registered.

Specified by:
  `addSelectionChangedListener` in interface `ISelectionProvider`
Parameters:
  `listener` - a selection changed listener

### getSelection

public ISelection getSelection()
Description copied from interface: `ISelectionProvider`
Returns the current selection for this provider.

Specified by:
  `getSelection` in interface `ISelectionProvider`
Returns:
  the current selection

### removeSelectionChangedListener

public void removeSelectionChangedListener(ISelectionChangedListener listener)
Description copied from interface: `ISelectionProvider`
Removes the given selection change listener from this selection provider. Has no effect if an identical listener is not registered.

Specified by:
  `removeSelectionChangedListener` in interface `ISelectionProvider`
Parameters:
  `listener` - a selection changed listener

### setSelection

public void setSelection(ISelection selection)
Description copied from interface: `ISelectionProvider`
Sets the current selection for this selection provider.

Specified by:
  `setSelection` in interface `ISelectionProvider`
Parameters:
  `selection` - the new selection

### addPostSelectionChangedListener

public void addPostSelectionChangedListener(ISelectionChangedListener listener)
Description copied from interface: `IPostSelectionProvider`
Adds a listener for post selection changes in this selection provider. Has no effect if an identical listener is already registered.

Specified by:
  `addPostSelectionChangedListener` in interface `IPostSelectionProvider`
Parameters:
  `listener` - a selection changed listener

### removePostSelectionChangedListener

public void removePostSelectionChangedListener(ISelectionChangedListener listener)
Description copied from interface: `IPostSelectionProvider`
Removes the given listener for post selection changes from this selection provider. Has no effect if an identical listener is not registered.

Specified by:
  `removePostSelectionChangedListener` in interface `IPostSelectionProvider`
Parameters:
  `listener` - a selection changed listener

### isValid

public boolean isValid(ISelection postSelection)
Description copied from interface: `ISelectionValidator`
Tests whether the given post selection is still valid.

Specified by:
  `isValid` in interface `ISelectionValidator`
Parameters:
  `postSelection` - the selection
Returns:
  `true` if the selection is still valid