Package ghidra.plugins.fsbrowser.tasks

# Class GFileSystemExtractAllTask

java.lang.Object
ghidra.util.task.Task
ghidra.formats.gfilesystem.AbstractFileExtractorTask
ghidra.plugins.fsbrowser.tasks.GFileSystemExtractAllTask

All Implemented Interfaces:
  `MonitoredRunnable`

public class GFileSystemExtractAllTask extends AbstractFileExtractorTask
`Task` that recursively extracts all files from a `GFileSystem` directory and writes them to a local filesystem.

- ## Field Summary

  ### Fields inherited from class ghidra.formats.gfilesystem.AbstractFileExtractorTask

  `fs, rootOutputDirectory`

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

  `taskMonitor, waitForTaskCompleted`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GFileSystemExtractAllTask(FSRL srcFSRL, File outputDirectory, Component parentComponent)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected boolean`
  `handleUnexpectedException(GFile file, Exception e)`
  Allows custom handling of exceptions that occur during file extraction.
  `void`
  `run(TaskMonitor monitor)`
  This is the method that will be called to do the work

  ### Methods inherited from class ghidra.formats.gfilesystem.AbstractFileExtractorTask

  `extractFile, getSourceFileInputStream, getTotalBytesExportedCount, getTotalDirsExportedCount, getTotalFilesExportedCount, mapSourceFilenameToDest, processDirectory, processFile, startExtract`

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

  - ### GFileSystemExtractAllTask

    public GFileSystemExtractAllTask(FSRL srcFSRL, File outputDirectory, Component parentComponent)

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

  - ### handleUnexpectedException

    protected boolean handleUnexpectedException(GFile file, Exception e)
    Description copied from class: `AbstractFileExtractorTask`
    Allows custom handling of exceptions that occur during file extraction.

    Return true if the exception should be ignored by the file extraction process, otherwise return false if it should be propagated up the call stack.

    Overrides:
      `handleUnexpectedException` in class `AbstractFileExtractorTask`
    Parameters:
      `file` - file that was being extracted when the exception happened
      `e` - the exception
    Returns:
      true if the exception should be suppressed, false if the exception should be thrown