org.eclipse.wst.jsdt.ui.actions

## Class AbstractOpenWizardAction

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

Direct Known Subclasses:
  OpenNewClassWizardAction, OpenNewJavaProjectWizardAction

    public abstract class AbstractOpenWizardAction
    extends Action

Abstract base classed used for the open wizard actions.

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

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
`protected` `AbstractOpenWizardAction()` Creates the action.

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected abstract INewWizard` `createWizard()` Creates and configures the wizard.
`protected boolean` `doCreateProjectFirstOnEmptyWorkspace(Shell shell)` Opens the new project dialog if the workspace is empty.
`IJavaScriptElement` `getCreatedElement()` Returns the created element or `null` if the wizard has not run or was canceled.
`protected IStructuredSelection` `getSelection()` Returns the configured selection.
`protected Shell` `getShell()` Returns the configured shell.
`void` `run()`
`void` `setSelection(IStructuredSelection selection)` Configures the selection to be used as initial selection of the wizard.
`void` `setShell(Shell shell)` Configures the shell to be used as parent shell by the wizard.

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

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

### Constructor Detail

#### AbstractOpenWizardAction

    protected AbstractOpenWizardAction()

Creates the action.

### Method Detail

#### run

    public void run()

#### createWizard

    protected abstract INewWizard createWizard()
                                        throws CoreException

Creates and configures the wizard. This method should only be called once.

Returns:
  returns the created wizard.
Throws:
  `CoreException` - exception is thrown when the creation was not successful.

#### getSelection

    protected IStructuredSelection getSelection()

Returns the configured selection. If no selection has been configured using `setSelection(IStructuredSelection)`, the currently selected element of the active workbench is returned.

Returns:
  the configured selection

#### setSelection

    public void setSelection(IStructuredSelection selection)

Configures the selection to be used as initial selection of the wizard.

Parameters:
  `selection` - the selection to be set or `null` to use the selection of the active workbench window

#### getShell

    protected Shell getShell()

Returns the configured shell. If no shell has been configured using `setShell(Shell)`, the shell of the currently active workbench is returned.

Returns:
  the configured shell

#### setShell

    public void setShell(Shell shell)

Configures the shell to be used as parent shell by the wizard.

Parameters:
  `shell` - the shell to be set or `null` to use the shell of the active workbench window

#### doCreateProjectFirstOnEmptyWorkspace

    protected boolean doCreateProjectFirstOnEmptyWorkspace(Shell shell)

Opens the new project dialog if the workspace is empty. This method is called on `run()`.

Parameters:
  `shell` - the shell to use
Returns:
  returns `true` when a project has been created, or `false` when the new project has been canceled.

#### getCreatedElement

    public IJavaScriptElement getCreatedElement()

Returns the created element or `null` if the wizard has not run or was canceled.

Returns:
  the created element or `null`