org.eclipse.wst.jsdt.ui.actions

## Class OverrideMethodsAction

- java.lang.Object
- - Action
  - - org.eclipse.wst.jsdt.ui.actions.SelectionDispatchAction
    - - org.eclipse.wst.jsdt.ui.actions.OverrideMethodsAction

    public class OverrideMethodsAction
    extends SelectionDispatchAction

Adds unimplemented methods of a type. The action opens a dialog from which the user can choose the methods to be added.

Will open the parent compilation unit in a JavaScript editor. The result is unsaved, so the user can decide if the changes are acceptable.

The action is applicable to structured selections containing elements of type `IType`.

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

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

### Constructor Summary

Constructors
Constructor and Description
`OverrideMethodsAction(org.eclipse.wst.jsdt.internal.ui.javaeditor.CompilationUnitEditor editor)` Note: This constructor is for internal use only.
`OverrideMethodsAction(IWorkbenchSite site)` Creates a new override method action.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static IWorkspaceRunnable` `createRunnable(JavaScriptUnit astRoot, ITypeBinding type, IFunctionBinding[] methodToOverride, int insertPos, boolean createComments)` Returns a runnable that creates the method stubs for overridden methods.
`void` `run(IStructuredSelection selection)` Executes this actions with the given selection.
`void` `run(ITextSelection selection)` Executes this actions with the given selection.
`void` `selectionChanged(IStructuredSelection selection)`
`void` `selectionChanged(ITextSelection selection)`

### Methods inherited from class org.eclipse.wst.jsdt.ui.actions.SelectionDispatchAction

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

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

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

### Constructor Detail

#### OverrideMethodsAction

    public OverrideMethodsAction(org.eclipse.wst.jsdt.internal.ui.javaeditor.CompilationUnitEditor editor)

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

Parameters:
  `editor` - the compilation unit editor

#### OverrideMethodsAction

    public OverrideMethodsAction(IWorkbenchSite site)

Creates a new override method action.

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

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

### Method Detail

#### run

    public void run(IStructuredSelection selection)

Description copied from class: `SelectionDispatchAction`
Executes this actions with the given selection. This default implementation does nothing.

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

#### run

    public void run(ITextSelection selection)

Description copied from class: `SelectionDispatchAction`
Executes this actions with the given selection. This default implementation does nothing.

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

#### createRunnable

    public static IWorkspaceRunnable createRunnable(JavaScriptUnit astRoot,
                                                    ITypeBinding type,
                                                    IFunctionBinding[] methodToOverride,
                                                    int insertPos,
                                                    boolean createComments)

Returns a runnable that creates the method stubs for overridden methods.

Parameters:
  `astRoot` - the AST of the compilation unit to work on. The AST must have been created from a `IJavaScriptUnit`, that means `ASTParser.setSource(IJavaScriptUnit)` was used.
  `type` - the binding of the type to add the new methods to. The type binding must correspond to a type declaration in the AST.
  `methodToOverride` - the bindings of methods to override or `null` to implement all unimplemented, abstract methods from super types.
  `insertPos` - a hint for a location in the source where to insert the new methods or `-1` to use the default behavior.
  `createComments` - if set, comments will be added to the new methods.
Returns:
  returns a runnable that creates the methods stubs.
Throws:
  `java.lang.IllegalArgumentException` - a `IllegalArgumentException` is thrown if the AST passed has not been created from a `IJavaScriptUnit`.

#### selectionChanged

    public void selectionChanged(IStructuredSelection selection)

Overrides:
  `selectionChanged` in class `SelectionDispatchAction`

#### selectionChanged

    public void selectionChanged(ITextSelection selection)

Overrides:
  `selectionChanged` in class `SelectionDispatchAction`