Package ghidra.framework.store.local

# Class UnknownFolderItem

java.lang.Object
ghidra.framework.store.local.LocalFolderItem
ghidra.framework.store.local.UnknownFolderItem

All Implemented Interfaces:
  `FolderItem`

public class UnknownFolderItem extends LocalFolderItem
`UnknownFolderItem` acts as a LocalFolderItem place-holder for items of an unknown type.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `UNKNOWN_CONTENT_TYPE`

  ### Fields inherited from interface ghidra.framework.store.FolderItem

  `DATABASE_FILE_TYPE, DATAFILE_FILE_TYPE, DEFAULT_CHECKOUT_ID, LATEST_VERSION, UNKNOWN_FILE_TYPE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `canRecover()`
  Returns true if unsaved file changes can be recovered.
  `ItemCheckoutStatus`
  `checkout(String user)`
  `void`
  `clearCheckout()`
  Clears the checkout data associated with this non-shared file.
  `ItemCheckoutStatus`
  `getCheckout(long checkoutId)`
  Get the checkout status which corresponds to the specified checkout ID.
  `ItemCheckoutStatus[]`
  `getCheckouts()`
  Get all current checkouts for this item.
  `String`
  `getContentType()`
  Return The content type name for this item.
  `int`
  `getCurrentVersion()`
  Return the latest/current version.
  `Version[]`
  `getVersions()`
  Returns list of all available versions or null if item is not versioned.
  `long`
  `length()`
  Returns the length of this domain file.
  `void`
  `output(File outputFile, int version, TaskMonitor monitor)`
  Serialize (i.e., pack) this item into the specified outputFile.
  `void`
  `setCheckout(long checkoutId, int checkoutVersion, int localVersion)`
  `void`
  `terminateCheckout(long checkoutId)`
  `void`
  `updateCheckout(FolderItem versionedFolderItem, boolean updateItem, TaskMonitor monitor)`
  Update this non-versioned item with the latest version of the specified versioned item.
  `void`
  `updateCheckout(FolderItem item, int checkoutVersion)`
  Update this non-versioned item with the contents of the specified item which must be within the same non-versioned fileSystem.

  ### Methods inherited from class ghidra.framework.store.local.LocalFolderItem

  `checkout, delete, equals, getCheckoutId, getCheckoutVersion, getContentTypeVersion, getFileID, getLocalCheckoutVersion, getName, getParentPath, getPathName, hasCheckouts, isCheckedOut, isCheckedOutExclusive, isCheckinActive, isReadOnly, isVersioned, lastModified, refresh, resetFileID, setCheckout, setContentTypeVersion, setReadOnly, terminateCheckout, updateCheckoutVersion`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### UNKNOWN_CONTENT_TYPE

    public static final String UNKNOWN_CONTENT_TYPE
    See Also:
      - Constant Field Values

- ## Method Details

  - ### length

    public long length() throws IOException
    Description copied from interface: `FolderItem`
    Returns the length of this domain file. This size is the minimum disk space used for storing this file, but does not account for additional storage space used to tracks changes, etc.
    Returns:
      file length
    Throws:
      `IOException` - thrown if IO or access error occurs

  - ### updateCheckout

    public void updateCheckout(FolderItem versionedFolderItem, boolean updateItem, TaskMonitor monitor) throws IOException
    Description copied from class: `LocalFolderItem`
    Update this non-versioned item with the latest version of the specified versioned item.
    Specified by:
      `updateCheckout` in class `LocalFolderItem`
    Parameters:
      `versionedFolderItem` - versioned item which corresponds to this non-versioned item.
      `updateItem` - if true this items content is updated using the versionedFolderItem
      `monitor` - progress monitor for update
    Throws:
      `IOException` - if this file is not a checked-out non-versioned file or an IO error occurs.

  - ### updateCheckout

    public void updateCheckout(FolderItem item, int checkoutVersion) throws IOException
    Description copied from class: `LocalFolderItem`
    Update this non-versioned item with the contents of the specified item which must be within the same non-versioned fileSystem. If successful, the specified item will be removed after its content has been moved into this item.
    Specified by:
      `updateCheckout` in class `LocalFolderItem`
    Throws:
      `IOException` - if this file is not a checked-out non-versioned file or an IO error occurs.

  - ### checkout

    public ItemCheckoutStatus checkout(String user) throws IOException
    Throws:
      `IOException`

  - ### terminateCheckout

    public void terminateCheckout(long checkoutId)

  - ### clearCheckout

    public void clearCheckout() throws IOException
    Description copied from interface: `FolderItem`
    Clears the checkout data associated with this non-shared file. NOTE: This method is only valid for a local non-versioned file-system.
    Specified by:
      `clearCheckout` in interface `FolderItem`
    Overrides:
      `clearCheckout` in class `LocalFolderItem`
    Throws:
      `IOException`

  - ### setCheckout

    public void setCheckout(long checkoutId, int checkoutVersion, int localVersion)

  - ### getCheckout

    public ItemCheckoutStatus getCheckout(long checkoutId) throws IOException
    Description copied from interface: `FolderItem`
    Get the checkout status which corresponds to the specified checkout ID.
    Specified by:
      `getCheckout` in interface `FolderItem`
    Overrides:
      `getCheckout` in class `LocalFolderItem`
    Parameters:
      `checkoutId` - checkout ID
    Returns:
      checkout status or null if checkout ID not found.
    Throws:
      `IOException` - if an IO error occurs or this item is not versioned

  - ### getCheckouts

    public ItemCheckoutStatus[] getCheckouts() throws IOException
    Description copied from interface: `FolderItem`
    Get all current checkouts for this item.
    Specified by:
      `getCheckouts` in interface `FolderItem`
    Overrides:
      `getCheckouts` in class `LocalFolderItem`
    Returns:
      array of checkouts
    Throws:
      `IOException` - if an IO error occurs or this item is not versioned

  - ### getVersions

    public Version[] getVersions() throws IOException
    Description copied from interface: `FolderItem`
    Returns list of all available versions or null if item is not versioned.
    Specified by:
      `getVersions` in interface `FolderItem`
    Overrides:
      `getVersions` in class `LocalFolderItem`
    Throws:
      `IOException` - thrown if an IO error occurs.
    See Also:
      - `FolderItem.getVersions()`

  - ### getContentType

    public String getContentType()
    Description copied from interface: `FolderItem`
    Return The content type name for this item.
    Specified by:
      `getContentType` in interface `FolderItem`
    Overrides:
      `getContentType` in class `LocalFolderItem`
    See Also:
      - `FolderItem.getContentType()`

  - ### output

    public void output(File outputFile, int version, TaskMonitor monitor) throws IOException
    Description copied from interface: `FolderItem`
    Serialize (i.e., pack) this item into the specified outputFile.
    Parameters:
      `outputFile` - packed output file to be created
      `version` - if this item is versioned, specifies the version to be output, otherwise -1 should be specified.
      `monitor` - progress monitor
    Throws:
      `IOException`

  - ### getCurrentVersion

    public int getCurrentVersion()
    Description copied from interface: `FolderItem`
    Return the latest/current version.

  - ### canRecover

    public boolean canRecover()
    Description copied from interface: `FolderItem`
    Returns true if unsaved file changes can be recovered.