org.eclipse.ui.actions

## Class CopyProjectAction

- java.lang.Object
- - org.eclipse.core.commands.common.EventManager
  - - org.eclipse.jface.action.AbstractAction
    - - org.eclipse.jface.action.Action
      - - org.eclipse.ui.actions.BaseSelectionListenerAction
        - - org.eclipse.ui.actions.SelectionListenerAction
          - - org.eclipse.ui.actions.CopyProjectAction

All Implemented Interfaces:
  IAction, ISelectionChangedListener

Direct Known Subclasses:
  MoveProjectAction

    public class CopyProjectAction
    extends SelectionListenerAction

The CopyProjectAction is the action designed to copy projects specifically as they have different semantics from other resources. Note that this action assumes that a single project is selected and being manipulated. This should be disabled for multi select or no selection.

### Field Summary

Fields
`protected IStatus` `errorStatus` Status containing the errors detected when running the operation or `null` if no errors detected.
`static String` `ID` The id of this action.
`protected Shell` `shell` Deprecated. the shell provider should be used instead.
`protected IShellProvider` `shellProvider` The IShellProvider in which to show any dialogs.

### 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
Constructor and Description
`CopyProjectAction(IShellProvider provider)` Creates a new project copy action with the default text.
`CopyProjectAction(Shell shell)` Deprecated. `CopyProjectAction(IShellProvider)`

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`protected IProjectDescription` `createDescription(IProject project, String projectName, IPath rootLocation)` Create a new IProjectDescription for the copy using the name and path selected from the dialog.
`protected String` `getErrorsTitle()` Deprecated. As of 3.3, the undoable operation created by this action handles error dialogs.
`String[]` `getModelProviderIds()` Returns the model provider ids that are known to the client that instantiated this operation.
`protected AbstractUIPlugin` `getPlugin()` Get the plugin used by a copy action
`protected Object[]` `queryDestinationParameters(IProject project)` Query for a new project name and destination using the parameters in the existing project.
`void` `run()` Implementation of method defined on `IAction`.
`void` `setModelProviderIds(String[] modelProviderIds)` Sets the model provider ids that are known to the client that instantiated this operation.
`protected boolean` `updateSelection(IStructuredSelection selection)` The `CopyResourceAction` implementation of this `SelectionListenerAction` method enables this action only if there is a single selection which is a project.

### Methods inherited from class org.eclipse.ui.actions.SelectionListenerAction

`clearCache, getSelectedNonResources, getSelectedResources, resourceIsType, selectionIsOfType`

### Methods inherited from class org.eclipse.ui.actions.BaseSelectionListenerAction

`getStructuredSelection, runWithEvent, selectionChanged, selectionChanged`

### 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, 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`

### Field Detail

#### ID

    public static final String ID

The id of this action.

See Also:
  Constant Field Values

#### shell

    @Deprecated
    protected Shell shell

Deprecated. the shell provider should be used instead.
The shell in which to show any dialogs.

#### shellProvider

    protected IShellProvider shellProvider

The IShellProvider in which to show any dialogs.

Since:
  3.4

#### errorStatus

    protected IStatus errorStatus

Status containing the errors detected when running the operation or `null` if no errors detected.

### Constructor Detail

#### CopyProjectAction

    @Deprecated
    public CopyProjectAction(Shell shell)

Deprecated. `CopyProjectAction(IShellProvider)`
Creates a new project copy action with the default text.

Parameters:
  `shell` - the shell for any dialogs

#### CopyProjectAction

    public CopyProjectAction(IShellProvider provider)

Creates a new project copy action with the default text.

Parameters:
  `provider` - the IShellProvider for any dialogs
Since:
  3.4

### Method Detail

#### createDescription

    protected IProjectDescription createDescription(IProject project,
                                                    String projectName,
                                                    IPath rootLocation)
                                             throws CoreException

Create a new IProjectDescription for the copy using the name and path selected from the dialog.

Parameters:
  `project` - the source project
  `projectName` - the name for the new project
  `rootLocation` - the path the new project will be stored under.
Returns:
  IProjectDescription
Throws:
  `CoreException`

#### getErrorsTitle

    @Deprecated
    protected String getErrorsTitle()

Deprecated. As of 3.3, the undoable operation created by this action handles error dialogs.
Return the title of the errors dialog.

Returns:
  java.lang.String

#### getPlugin

    protected AbstractUIPlugin getPlugin()

Get the plugin used by a copy action

Returns:
  AbstractUIPlugin

#### queryDestinationParameters

    protected Object[] queryDestinationParameters(IProject project)

Query for a new project name and destination using the parameters in the existing project.

Parameters:
  `project` - the project we are going to copy.
Returns:
  Object [] or null if the selection is cancelled

#### run

    public void run()

Implementation of method defined on `IAction`.

Specified by:
  `run` in interface `IAction`
Overrides:
  `run` in class `Action`
See Also:
  `How radio buttons are handled`, `How check boxes are handled`

#### updateSelection

    protected boolean updateSelection(IStructuredSelection selection)

The `CopyResourceAction` implementation of this `SelectionListenerAction` method enables this action only if there is a single selection which is a project.

Overrides:
  `updateSelection` in class `BaseSelectionListenerAction`
Parameters:
  `selection` - the new selection
Returns:
  `true` if the action should be enabled for this selection, and `false` otherwise

#### getModelProviderIds

    public String[] getModelProviderIds()

Returns the model provider ids that are known to the client that instantiated this operation.

Returns:
  the model provider ids that are known to the client that instantiated this operation.
Since:
  3.2

#### setModelProviderIds

    public void setModelProviderIds(String[] modelProviderIds)

Sets the model provider ids that are known to the client that instantiated this operation. Any potential side effects reported by these models during validation will be ignored.

Parameters:
  `modelProviderIds` - the model providers known to the client who is using this operation.
Since:
  3.2