# Class CopyProjectOperation

java.lang.Object
org.eclipse.ui.actions.CopyProjectOperation

public class CopyProjectOperation extends Object
Implementation class to perform the actual copying of project resources from the clipboard when paste action is invoked.

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

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

## Constructor Summary

Constructors
Constructor
Description
`CopyProjectOperation(Shell shell)`
Create a new operation initialized with a shell.

## Method Summary

Modifier and Type
Method
Description
`void`
`copyProject(IProject project)`
Paste a copy of the project on the clipboard to the workspace.
`String[]`
`getModelProviderIds()`
Returns the model provider ids that are known to the client that instantiated this operation.
`void`
`setModelProviderIds(String[] modelProviderIds)`
Sets the model provider ids that are known to the client that instantiated this operation.
`protected static boolean`
`validateCopy(Shell shell, IProject project, String newName, String[] modelProviderIds)`
Deprecated.
As of 3.3, validation is performed in the undoable operation executed by this operation.

### Methods inherited from class Object

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

## Constructor Details

### CopyProjectOperation

public CopyProjectOperation(Shell shell)
Create a new operation initialized with a shell.

Parameters:
  `shell` - parent shell for error dialogs

## Method Details

### validateCopy

@Deprecated protected static boolean validateCopy(Shell shell, IProject project, String newName, String[] modelProviderIds)
Deprecated.
As of 3.3, validation is performed in the undoable operation executed by this operation.
Validates that the copy of the project will not have undesirable side effects.

Parameters:
  `shell` - a shell
  `project` - the project being copied
  `newName` - the new name of the project
  `modelProviderIds` - the model provider ids of models that are known to the client (and can hence be ignored)
Returns:
  whether the operation should proceed
Since:
  3.2

### copyProject

public void copyProject(IProject project)
Paste a copy of the project on the clipboard to the workspace.

Parameters:
  `project` - The project that is beign copied.

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