Class CloseResourceAction

All Implemented Interfaces:
EventListener, IResourceChangeListener, IAction, ISelectionChangedListener
Direct Known Subclasses:
CloseUnrelatedProjectsAction

public class CloseResourceAction extends WorkspaceAction implements IResourceChangeListener
Standard action for closing the currently selected project(s).

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

    • CloseResourceAction

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

      @Deprecated protected CloseResourceAction(Shell shell, String text)
      Override super constructor to allow subclass to override with unique text.
    • CloseResourceAction

      public CloseResourceAction(IShellProvider provider)
      Create the new action.
      Parameters:
      provider - the shell provider for any dialogs
      Since:
      3.4
    • CloseResourceAction

      protected CloseResourceAction(IShellProvider provider, String text)
      Provide text to the action.
      Parameters:
      provider - the shell provider for any dialogs
      text - label for action when only a singular selection is made
      Since:
      3.4
    • CloseResourceAction

      protected CloseResourceAction(IShellProvider provider, String text, String tooltip, String textPlural, String tooltipPlural)
      Provide text to the action.
      Parameters:
      provider - the shell provider for any dialogs
      text - label for action when only a singular selection is made
      tooltip - tooltip text for action when only a singular selection is made
      textPlural - label for action when selection contains multiple elements
      tooltipPlural - tooltip text for action when selection contains multiple elements
      Since:
      3.14
  • Method Details

    • getOperationMessage

      protected String getOperationMessage()
      Description copied from class: WorkspaceAction
      Returns the string to display for this action's operation.

      Note that this hook method is invoked in a non-UI thread.

      Subclasses must implement this method.

      Specified by:
      getOperationMessage in class WorkspaceAction
      Returns:
      the message
    • getProblemsMessage

      protected String getProblemsMessage()
      Description copied from class: WorkspaceAction
      Returns the string to display for this action's problems dialog.

      The WorkspaceAction implementation of this method returns a vague message (localized counterpart of something like "The following problems occurred."). Subclasses may reimplement to provide something more suited to the particular action.

      Overrides:
      getProblemsMessage in class WorkspaceAction
      Returns:
      the problems message
    • getProblemsTitle

      protected String getProblemsTitle()
      Description copied from class: WorkspaceAction
      Returns the title for this action's problems dialog.

      The WorkspaceAction implementation of this method returns a generic title (localized counterpart of "Problems"). Subclasses may reimplement to provide something more suited to the particular action.

      Overrides:
      getProblemsTitle in class WorkspaceAction
      Returns:
      the problems dialog title
    • invokeOperation

      protected void invokeOperation(IResource resource, IProgressMonitor monitor) throws CoreException
      Description copied from class: WorkspaceAction
      Performs this action's operation on each of the selected resources, reporting progress to, and fielding cancel requests from, the given progress monitor.

      Note that this method is invoked in a non-UI thread.

      Subclasses must implement this method.

      Overrides:
      invokeOperation in class WorkspaceAction
      Parameters:
      resource - one of the selected resources
      monitor - a progress monitor
      Throws:
      CoreException - if the operation fails
    • run

      public void run()
      The implementation of this WorkspaceAction method method saves and closes the resource's dirty editors before closing it.
      Specified by:
      run in interface IAction
      Overrides:
      run in class WorkspaceAction
      See Also:
    • shouldPerformResourcePruning

      protected boolean shouldPerformResourcePruning()
      Description copied from class: WorkspaceAction
      Returns whether this action should attempt to optimize the resources being operated on. This kind of pruning makes sense when the operation has depth infinity semantics (when the operation is applied explicitly to a resource then it is also applied implicitly to all the resource's descendents).

      The WorkspaceAction implementation of this method returns true. Subclasses should reimplement to return false if pruning is not required.

      Overrides:
      shouldPerformResourcePruning in class WorkspaceAction
      Returns:
      true if pruning should be performed, and false if pruning is not desired
    • updateSelection

      protected boolean updateSelection(IStructuredSelection s)
      The CloseResourceAction implementation of this SelectionListenerAction method ensures that this action is enabled only if one of the selections is an open project.
      Overrides:
      updateSelection in class WorkspaceAction
      Parameters:
      s - the new selection
      Returns:
      true if the action should be enabled for this selection, and false otherwise
    • resourceChanged

      public void resourceChanged(IResourceChangeEvent event)
      Handles a resource changed event by updating the enablement if one of the selected projects is opened or closed.
      Specified by:
      resourceChanged in interface IResourceChangeListener
      Parameters:
      event - the resource change event
      See Also:
    • getSelectedResources

      protected List<? extends IResource> getSelectedResources()
      Description copied from class: SelectionListenerAction
      Returns the elements in the current selection that are IResources.
      Overrides:
      getSelectedResources in class SelectionListenerAction
      Returns:
      list of resource elements (element type: IResource)
    • getSelectedNonResources

      protected List<?> getSelectedNonResources()
      Description copied from class: SelectionListenerAction
      Returns the elements in the current selection that are not IResources.
      Overrides:
      getSelectedNonResources in class SelectionListenerAction
      Returns:
      list of elements (element type: Object)
    • 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