Class ProjectDataUtils

java.lang.Object
ghidra.framework.model.ProjectDataUtils

public class ProjectDataUtils extends Object
  • Constructor Details

    • ProjectDataUtils

      public ProjectDataUtils()
  • Method Details

    • descendantFiles

      public static Iterable<DomainFile> descendantFiles(DomainFolder folder)
      Returns a Iterable sequence of all the DomainFiles that exist under the specified folder.
      Parameters:
      folder -
      Returns:
    • descendantFolders

      public static Iterable<DomainFolder> descendantFolders(DomainFolder folder)
      Returns a Iterable sequence of all the DomainFolders that exist under the specified folder.
      Parameters:
      folder -
      Returns:
    • createDomainFolderPath

      public static DomainFolder createDomainFolderPath(DomainFolder currentFolder, String path) throws InvalidNameException, IOException
      Returns a Ghidra DomainFolder with the matching path, creating any missing parent folders as needed.

      Parameters:
      currentFolder - starting DomainFolder.
      path - relative path to the desired DomainFolder, using forward slashes as separators. Empty string ok, multiple slashes in a row treated as single slash, trailing slashes ignored.
      Returns:
      DomainFolder that the path points to.
      Throws:
      InvalidNameException - if bad name
      IOException - if problem when creating folder
    • lookupDomainPath

      public static DomainFolder lookupDomainPath(DomainFolder currentFolder, String path)
      Returns a Ghidra DomainFolder with the matching path, or null if not found.

      Parameters:
      currentFolder - starting DomainFolder.
      path - relative path to the desired DomainFolder, using forward slashes as separators. Empty string ok, multiple slashes in a row treated as single slash, trailing slashes ignored.
      Returns:
      DomainFolder that the path points to or null if not found.
    • getUniqueName

      public static String getUniqueName(DomainFolder folder, String baseName)
      Returns a unique name in a Ghidra DomainFolder.
      Parameters:
      folder - DomainFolder to check for child name collisions.
      baseName - String base name of the file or folder
      Returns:
      "baseName" if no collisions, or "baseNameNNN" (where NNN is an incrementing integer value) when collisions are found, or null if there are more than 1000 collisions.