Eclipse Platform Release 3.7

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

Method Summary
`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`

Methods inherited from interface org.eclipse.jface.action.IAction
`addPropertyChangeListener, removePropertyChangeListener`

Field Detail

### ID

    public static final String ID

  The id of this action.

  See Also:
    Constant Field Values

### shell

    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

    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

    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`

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

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.