Package ghidra.framework.main.projectdata.actions

# Class ProjectDataDeleteTask

java.lang.Object
ghidra.util.task.Task
ghidra.framework.main.projectdata.actions.ProjectDataDeleteTask

All Implemented Interfaces:
  `MonitoredRunnable`

public class ProjectDataDeleteTask extends Task
`Task` that handles deleting `files` and `folders` from the project.

This task will iterate all the files and folders specified by the user to weed out common problem issues (read-only files, checked-out files), ask the user to confirm, and then perform the actual delete operations.

This task will show a summary dialog if there were multiple files involved or any errors encountered.

- ## Field Summary

  ### Fields inherited from class ghidra.util.task.Task

  `taskMonitor, waitForTaskCompleted`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ProjectDataDeleteTask(List<DomainFile> files, List<DomainFolder> folders, Component parentComponent)`
  Creates a new task to delete the specified files and folders.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `run(TaskMonitor monitor)`
  This is the method that will be called to do the work

  ### Methods inherited from class ghidra.util.task.Task

  `addTaskListener, canCancel, cancel, getStatusTextAlignment, getTaskTitle, getWaitForTaskCompleted, hasProgress, isCancelled, isModal, monitoredRun, notifyTaskListeners, setHasProgress`

  ### Methods inherited from class java.lang.Object

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

- ## Constructor Details

  - ### ProjectDataDeleteTask

    public ProjectDataDeleteTask(List<DomainFile> files, List<DomainFolder> folders, Component parentComponent)
    Creates a new task to delete the specified files and folders.
    Parameters:
      `files` - - the `files` the user requested to be deleted, or null.
      `folders` - - the `folders` the user requested to be deleted, or null.
      `parentComponent` - - parent java awt component that will be parent of the message dialogs and such.

- ## Method Details

  - ### run

    public void run(TaskMonitor monitor)
    Description copied from class: `Task`
    This is the method that will be called to do the work

    Note: The run(TaskMonitor) method should not make any calls directly on Swing components, as these calls are not thread safe. Place Swing calls in a Runnable, then call `Swing.runLater(Runnable)` or `Swing.runNow(Runnable)`to schedule the Runnable inside of the AWT Event Thread.

    Specified by:
      `run` in class `Task`
    Parameters:
      `monitor` - The TaskMonitor that will monitor the executing Task