Package ghidra

Class GhidraJarApplicationLayout


  • public class GhidraJarApplicationLayout
    extends GhidraApplicationLayout
    The Ghidra jar application layout defines the customizable elements of the Ghidra application's directory structure when running in "single jar mode."
    • Constructor Detail

      • GhidraJarApplicationLayout

        public GhidraJarApplicationLayout()
                                   throws java.io.FileNotFoundException,
                                          java.io.IOException
        Constructs a new Ghidra jar application layout object.
        Throws:
        java.io.FileNotFoundException - if there was a problem getting a user directory.
        java.io.IOException - if there was a problem getting the application properties or modules.
    • Method Detail

      • inSingleJarMode

        public boolean inSingleJarMode()
        Description copied from class: ApplicationLayout
        Checks whether or not the application is using a "single jar" layout. Custom application layouts that extend this class can override this method once they determine they are in single jar mode.
        Overrides:
        inSingleJarMode in class ApplicationLayout
        Returns:
        true if the application is using a "single jar" layout; otherwise, false.
      • findGhidraApplicationInstallationDir

        protected ResourceFile findGhidraApplicationInstallationDir()
        Description copied from class: GhidraApplicationLayout
        Finds the application installation directory for this Ghidra application layout.
        Overrides:
        findGhidraApplicationInstallationDir in class GhidraApplicationLayout
        Returns:
        The application installation directory for this Ghidra application layout. Could be null if there is no application installation directory.
      • findGhidraModules

        protected java.util.Map<java.lang.String,​GModule> findGhidraModules()
                                                                           throws java.io.IOException
        Description copied from class: GhidraApplicationLayout
        Finds the modules for this Ghidra application layout.
        Overrides:
        findGhidraModules in class GhidraApplicationLayout
        Returns:
        The modules for this Ghidra application layout.
        Throws:
        java.io.IOException - if there was a problem finding the modules on disk.
      • findExtensionInstallationDirectories

        protected java.util.List<ResourceFile> findExtensionInstallationDirectories()
        Description copied from class: GhidraApplicationLayout
        Returns a prioritized list of directories where Ghidra extensions are installed. These should be at the following locations:
        • [user settings dir]/Extensions
        • [application install dir]/Ghidra/Extensions
        • ghidra/Ghidra/Extensions (development mode)
        Overrides:
        findExtensionInstallationDirectories in class GhidraApplicationLayout
        Returns:
        the install folder, or null if can't be determined