Class CopyResourceAction

    • Constructor Detail

      • CopyResourceAction

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

      • 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:
        How radio buttons are handled, How check boxes are handled
      • 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