Package 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
Modifier and Type
Field
Description
`protected IStatus`
`errorStatus`
Status containing the errors detected when running the operation or `null` if no errors detected.
`static final 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
Description
`CopyProjectAction(IShellProvider provider)`
Creates a new project copy action with the default text.
`CopyProjectAction(Shell shell)`
Deprecated.
`CopyProjectAction(IShellProvider)`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### 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 Details

### 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 Details

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