Package ghidra.framework.model

# Interface LinkedDomainFolder

All Superinterfaces:
  `Comparable<DomainFolder>`, `DomainFolder`

All Known Implementing Classes:
  `LinkedGhidraFolder`

public interface LinkedDomainFolder extends DomainFolder
`LinkedDomainFolder` extends `DomainFolder` for all folders which are accessable via a folder-link (see `FolderLinkContentHandler`).

- ## Field Summary

  ### Fields inherited from interface ghidra.framework.model.DomainFolder

  `CLOSED_FOLDER_ICON, COPY_SUFFIX, OPEN_FOLDER_ICON, SEPARATOR`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Icon`
  `getIcon(boolean isOpen)`
  Get the appropriate icon for this folder
  `String`
  `getLinkedPathname()`
  Get the project folder/file pathname for this this linked-folder relative to the linked-folder root.
  `ProjectData`
  `getLinkedProjectData()`
  Get the project data that corresponds to the linked-project and contains the `getLinkedPathname()` which corresponds to this folder.
  `DomainFolder`
  `getRealFolder()`
  Get the real domain folder which corresponds to this linked-folder.
  `boolean`
  `isExternal()`
  Determine if this folder resides within an external project or repository.

  ### Methods inherited from interface java.lang.Comparable

  `compareTo`

  ### Methods inherited from interface ghidra.framework.model.DomainFolder

  `copyTo, copyToAsLink, createFile, createFile, createFolder, createLinkFile, createLinkFile, delete, getFile, getFiles, getFolder, getFolders, getLocalProjectURL, getName, getParent, getPathname, getProjectData, getProjectLocator, getSharedProjectURL, isEmpty, isInWritableProject, isLinked, isSame, isSameOrAncestor, moveTo, setActive, setName`

- ## Method Details

  - ### getLinkedProjectData

    ProjectData getLinkedProjectData() throws IOException
    Get the project data that corresponds to the linked-project and contains the `getLinkedPathname()` which corresponds to this folder.
    Returns:
      linked project data
    Throws:
      `IOException` - if an IO error occurs

  - ### getLinkedPathname

    String getLinkedPathname()
    Get the project folder/file pathname for this this linked-folder relative to the linked-folder root.
    Returns:
      project pathname

  - ### getRealFolder

    DomainFolder getRealFolder() throws IOException
    Get the real domain folder which corresponds to this linked-folder. In the process of resolving the real folder a remote project or repository may be required.
    Returns:
      domain folder
    Throws:
      `FileNotFoundException` - if folder does not exist (could occur due to connection issue)
      `IOException` - if an IO error occurs while connecting/accessing the associated project or repository.

  - ### getIcon

    Icon getIcon(boolean isOpen)
    Get the appropriate icon for this folder
    Parameters:
      `isOpen` - true if open icon, false for closed
    Returns:
      folder icon

  - ### isExternal

    boolean isExternal()
    Determine if this folder resides within an external project or repository. The term "external" means the actual folder does not reside within the same project as the folder-link that referenced it and which was used to produce this linked folder instance.
    Returns:
      true if linked-folder is external to the link file which was used to access, else false if internal to the same project.