Package ghidra.framework.model
Class ProjectDataUtils
java.lang.Object
ghidra.framework.model.ProjectDataUtils
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
A not-thread-safeDomainFile
iterator that recursively walks aproject's data
and returns eachDomainFile
that is found.static class
A not-thread-safeDomainFolder
iterator that recursively walks aproject's data
and returns eachDomainFolder
that is found. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic DomainFolder
createDomainFolderPath
(DomainFolder currentFolder, String path) Returns a GhidraDomainFolder
with the matching path, creating any missing parent folders as needed.static Iterable
<DomainFile> descendantFiles
(DomainFolder folder) static Iterable
<DomainFolder> descendantFolders
(DomainFolder folder) static String
getUniqueName
(DomainFolder folder, String baseName) Returns a unique name in a GhidraDomainFolder
.static DomainFolder
lookupDomainPath
(DomainFolder currentFolder, String path) Returns a GhidraDomainFolder
with the matching path, or null if not found.
-
Constructor Details
-
ProjectDataUtils
public ProjectDataUtils()
-
-
Method Details
-
descendantFiles
- Parameters:
folder
-- Returns:
-
descendantFolders
- Parameters:
folder
-- Returns:
-
createDomainFolderPath
public static DomainFolder createDomainFolderPath(DomainFolder currentFolder, String path) throws InvalidNameException, IOException Returns a GhidraDomainFolder
with the matching path, creating any missing parent folders as needed.- Parameters:
currentFolder
- startingDomainFolder
.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 nameIOException
- if problem when creating folder
-
lookupDomainPath
Returns a GhidraDomainFolder
with the matching path, or null if not found.- Parameters:
currentFolder
- startingDomainFolder
.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
Returns a unique name in a GhidraDomainFolder
.- 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.
-