Package org.eclipse.jdt.ui.actions

## Class ExtractInterfaceAction

- java.lang.Object
- - org.eclipse.core.commands.common.EventManager
  - - org.eclipse.jface.action.AbstractAction
    - - org.eclipse.jface.action.Action
      - - org.eclipse.jdt.ui.actions.SelectionDispatchAction
        - - org.eclipse.jdt.ui.actions.ExtractInterfaceAction

All Implemented Interfaces:
  `IAction`, `ISelectionChangedListener`

    public class ExtractInterfaceAction
    extends SelectionDispatchAction

Extract a new interface from a class and tries to use the interface instead of the concrete class where possible.

This class may be instantiated; it is not intended to be subclassed.

Since:
  2.1
Restriction:
  This class is not intended to be subclassed by clients.

### Field Summary

### Fields inherited from interface org.eclipse.jface.action.IAction

`AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT`

### Constructor Summary

Constructors
`ExtractInterfaceAction​(org.eclipse.jdt.internal.ui.javaeditor.JavaEditor editor)` Note: This constructor is for internal use only.
`ExtractInterfaceAction​(IWorkbenchSite site)` Creates a new `ExtractInterfaceAction`.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `run​(ITextSelection selection)` Executes this actions with the given text selection.
`void` `run​(IStructuredSelection selection)` Executes this actions with the given structured selection.
`void` `selectionChanged​(org.eclipse.jdt.internal.ui.javaeditor.JavaTextSelection selection)` Note: This method is for internal use only.
`void` `selectionChanged​(ITextSelection selection)` Notifies this action that the given text selection has changed.
`void` `selectionChanged​(IStructuredSelection selection)` Notifies this action that the given structured selection has changed.

### Methods inherited from class org.eclipse.jdt.ui.actions.SelectionDispatchAction

`getSelection, getSelectionProvider, getShell, getSite, run, run, run, selectionChanged, selectionChanged, setSpecialSelectionProvider, update`

### Methods inherited from class org.eclipse.jface.action.Action

`convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, runWithEvent, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText`

### Methods inherited from class org.eclipse.jface.action.AbstractAction

`addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener`

### Methods inherited from class org.eclipse.core.commands.common.EventManager

`addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject`

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### ExtractInterfaceAction

    public ExtractInterfaceAction​(org.eclipse.jdt.internal.ui.javaeditor.JavaEditor editor)

Note: This constructor is for internal use only. Clients should not call this constructor.

Parameters:
  `editor` - the java editor
Restriction:
  This constructor is not intended to be referenced by clients.

#### ExtractInterfaceAction

    public ExtractInterfaceAction​(IWorkbenchSite site)

Creates a new `ExtractInterfaceAction`. The action requires that the selection provided by the site's selection provider is of type `org.eclipse.jface.viewers.IStructuredSelection`.

Parameters:
  `site` - the site providing context information for this action

### Method Detail

#### selectionChanged

    public void selectionChanged​(IStructuredSelection selection)

Description copied from class: `SelectionDispatchAction`
Notifies this action that the given structured selection has changed. This default implementation calls `selectionChanged(ISelection selection)`.

Overrides:
  `selectionChanged` in class `SelectionDispatchAction`
Parameters:
  `selection` - the new selection

#### run

    public void run​(IStructuredSelection selection)

Description copied from class: `SelectionDispatchAction`
Executes this actions with the given structured selection. This default implementation calls `run(ISelection selection)`.

Overrides:
  `run` in class `SelectionDispatchAction`
Parameters:
  `selection` - the selection

#### selectionChanged

    public void selectionChanged​(ITextSelection selection)

Description copied from class: `SelectionDispatchAction`
Notifies this action that the given text selection has changed. This default implementation calls `selectionChanged(ISelection selection)`.

Overrides:
  `selectionChanged` in class `SelectionDispatchAction`
Parameters:
  `selection` - the new selection

#### selectionChanged

    public void selectionChanged​(org.eclipse.jdt.internal.ui.javaeditor.JavaTextSelection selection)

Note: This method is for internal use only. Clients should not call this method.

Overrides:
  `selectionChanged` in class `SelectionDispatchAction`
Parameters:
  `selection` - the Java text selection (internal type)
Restriction:
  This method is not intended to be referenced by clients.

#### run

    public void run​(ITextSelection selection)

Description copied from class: `SelectionDispatchAction`
Executes this actions with the given text selection. This default implementation calls `run(ISelection selection)`.

Overrides:
  `run` in class `SelectionDispatchAction`
Parameters:
  `selection` - the selection