Package ghidra.framework.model

# Interface Workspace

public interface Workspace
Defines methods for accessing a workspace; a workspace is simply a group of running tools and their templates.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `PluginTool`
  `createTool()`
  Launch an empty tool.
  `String`
  `getName()`
  Get the workspace name
  `PluginTool[]`
  `getTools()`
  Get the running tools in the workspace.
  `PluginTool`
  `runTool(ToolTemplate template)`
  Run the tool specified by the tool template object.
  `void`
  `setActive()`
  Set this workspace to be the active workspace, i.e., all tools become visible.
  `void`
  `setName(String newName)`
  Rename this workspace.

- ## Method Details

  - ### getName

    String getName()
    Get the workspace name
    Returns:
      the name

  - ### getTools

    PluginTool[] getTools()
    Get the running tools in the workspace.
    Returns:
      list of running tools or zero-length array if there are no tools in the workspace

  - ### createTool

    PluginTool createTool()
    Launch an empty tool.
    Returns:
      name of empty tool that is launched.

  - ### runTool

    PluginTool runTool(ToolTemplate template)
    Run the tool specified by the tool template object.
    Parameters:
      `template` - the template
    Returns:
      launched tool that is now running.

  - ### setName

    void setName(String newName) throws DuplicateNameException
    Rename this workspace.
    Parameters:
      `newName` - new workspace name
    Throws:
      `DuplicateNameException` - if newName is already the name of a workspace.

  - ### setActive

    void setActive()
    Set this workspace to be the active workspace, i.e., all tools become visible. The currently active workspace becomes inactive, and this workspace becomes active.