Class CopyResourceAction

All Implemented Interfaces:
IAction, ISelectionChangedListener, ISelectionValidator
Direct Known Subclasses:
MoveResourceAction

public class CopyResourceAction extends SelectionListenerAction implements ISelectionValidator
Standard action for copying the currently selected resources elsewhere in the workspace. All resources being copied as a group must be siblings.

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

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

  • Constructor Details

    • CopyResourceAction

      @Deprecated public CopyResourceAction(Shell shell)
      Creates a new action.
      Parameters:
      shell - the shell for any dialogs
    • CopyResourceAction

      public CopyResourceAction(IShellProvider provider)
      Creates a new action
      Parameters:
      provider - the shell for any dialogs
      Since:
      3.4
  • Method Details

    • getNewNameFor

      public static IPath getNewNameFor(IPath originalName, IWorkspace workspace)
      Returns a new name for a copy of the resource at the given path in the given workspace. This name could be determined either automatically or by querying the user. This name will not be verified by the caller, so it must be valid and unique.

      Note this method is for internal use only.

      Parameters:
      originalName - the full path of the resource
      workspace - the workspace
      Returns:
      the new full path for the copy, or null if the resource should not be copied
    • createOperation

      protected CopyFilesAndFoldersOperation createOperation()
      Returns the operation to perform when this action runs.
      Returns:
      the operation to perform when this action runs.
    • getResources

      protected IResource[] getResources(List<? extends IResource> resourceList)
      Returns an array of resources to use for the operation from the provided list.
      Parameters:
      resourceList - The list of resources to converted into an array.
      Returns:
      an array of resources to use for the operation
    • isValid

      public String isValid(Object destination)
      The CopyResourceAction implementation of this ISelectionValidator method checks whether the given path is a good place to copy the selected resources.
      Specified by:
      isValid in interface ISelectionValidator
      Parameters:
      destination - the selection to be validated
      Returns:
      the error message, or null indicating that the value is valid
    • run

      public void run()
      Description copied from class: Action
      The default implementation of this IAction method does nothing. Subclasses should override this method if they do not need information from the triggering event, or override runWithEvent(Event) if they do.
      Specified by:
      run in interface IAction
      Overrides:
      run in class Action
      See Also:
    • runOperation

      protected void runOperation(IResource[] resources, IContainer destination)
      Runs the operation created in createOperation
      Parameters:
      resources - source resources to pass to the operation
      destination - destination container to pass to the operation
    • updateSelection

      protected boolean updateSelection(IStructuredSelection selection)
      The CopyResourceAction implementation of this SelectionListenerAction method enables this action only if all of the one or more selections are sibling resources which are local (depth infinity).
      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