Class ProjectDataUtils


  • public class ProjectDataUtils
    extends java.lang.Object
    • Constructor Detail

      • ProjectDataUtils

        public ProjectDataUtils()
    • Method Detail

      • descendantFiles

        public static java.lang.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 java.lang.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,
                                                          java.lang.String path)
                                                   throws InvalidNameException,
                                                          java.io.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
        java.io.IOException - if problem when creating folder
      • lookupDomainPath

        public static DomainFolder lookupDomainPath​(DomainFolder currentFolder,
                                                    java.lang.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 java.lang.String getUniqueName​(DomainFolder folder,
                                                     java.lang.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.