Package ghidra.framework.plugintool

# Class StandAloneApplication

java.lang.Object
ghidra.framework.plugintool.StandAloneApplication

All Implemented Interfaces:
  `GenericStandAloneApplication`

public abstract class StandAloneApplication extends Object implements GenericStandAloneApplication

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected DockingApplicationConfiguration`
  `configuration`
  `protected ApplicationLayout`
  `layout`
  `protected PluginTool`
  `tool`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `StandAloneApplication(String propertiesFilename)`
  Creates a new application using the given properties filename.
  `StandAloneApplication(String name, String version)`
  Creates a new application using the specified application name and version.
  `StandAloneApplication(ApplicationLayout applicationLayout)`
  Creates a new application using the given application layout and associated application properties.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected PluginTool`
  `createTool()`
  `void`
  `exit()`
  `ToolServices`
  `getToolServices()`
  `protected void`
  `initializeTool(StandAlonePluginTool newTool)`
  `static ApplicationProperties`
  `readApplicationProperties(String propertiesFilename)`
  Read `ApplicationProperties` from the specified file path relative to the current working directory.
  `void`
  `setHomeCallback(Runnable callback)`
  `void`
  `setHomeIcon(ImageIcon icon)`
  `void`
  `setWindowsIcons(List<Image> windowsIcons)`
  `void`
  `showSpashScreen(ImageIcon splashIcon)`
  `protected void`
  `showTool()`
  `void`
  `start()`

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

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

- ## Field Details

  - ### layout

    protected ApplicationLayout layout

  - ### configuration

    protected DockingApplicationConfiguration configuration

  - ### tool

    protected PluginTool tool

- ## Constructor Details

  - ### StandAloneApplication

    public StandAloneApplication(String propertiesFilename) throws IOException
    Creates a new application using the given properties filename. The filename is expected reside in the current working directory.

    The given properties file is expected to have the `ApplicationProperties.APPLICATION_NAME_PROPERTY` and `ApplicationProperties.APPLICATION_VERSION_PROPERTY` properties set.

    Parameters:
      `propertiesFilename` - the name of the properties file.
    Throws:
      `IOException` - error causing application initialization failure

  - ### StandAloneApplication

    public StandAloneApplication(String name, String version) throws IOException
    Creates a new application using the specified application name and version.
    Parameters:
      `name` - application name
      `version` - application version
    Throws:
      `IOException` - error causing application initialization failure

  - ### StandAloneApplication

    public StandAloneApplication(ApplicationLayout applicationLayout)
    Creates a new application using the given application layout and associated application properties.
    Parameters:
      `applicationLayout` - application layout

- ## Method Details

  - ### readApplicationProperties

    public static ApplicationProperties readApplicationProperties(String propertiesFilename) throws IOException
    Read `ApplicationProperties` from the specified file path relative to the current working directory.

    The given properties file is expected to have the `ApplicationProperties.APPLICATION_NAME_PROPERTY` and `ApplicationProperties.APPLICATION_VERSION_PROPERTY` properties set.

    Parameters:
      `propertiesFilename` - the name of the properties file.
    Returns:
      application properties
    Throws:
      `IOException` - if file read error occurs

  - ### showSpashScreen

    public void showSpashScreen(ImageIcon splashIcon)

  - ### setWindowsIcons

    public void setWindowsIcons(List<Image> windowsIcons)

  - ### setHomeIcon

    public void setHomeIcon(ImageIcon icon)

  - ### setHomeCallback

    public void setHomeCallback(Runnable callback)

  - ### start

    public void start()

  - ### showTool

    protected void showTool()

  - ### createTool

    protected PluginTool createTool()

  - ### initializeTool

    protected void initializeTool(StandAlonePluginTool newTool)

  - ### exit

    public void exit()
    Specified by:
      `exit` in interface `GenericStandAloneApplication`

  - ### getToolServices

    public ToolServices getToolServices()
    Specified by:
      `getToolServices` in interface `GenericStandAloneApplication`