Interface FileStore

All Superinterfaces:
CapabilityProvider, ChangeSource<FileStore.FileStoreChangeEvent>, Container, InformationProvider
All Known Implementing Classes:
AppleArchiveFormatFileStore, BinaryIIFileStore, BinsciiFileStore, DiskFileStoreAdapter, GamedosFileStore, PascalFileStore, RDOSFileStore, ShrinkitFileStore, ZipFileStore

A FileStore is a generic interface for all archive and filesystem objects.
  • Method Details

    • getType

      String getType()
      Get the type of file store. This is a generic name, such as "RDOS 2.1" or "ShrinkIt".
    • getLabel

      String getLabel()
      The label is a mechanism to distinguish multiple file stores in a single file. For instance, UniDOS has two file stores in the file, so it would have two different labels such as "Disk 1" and "Disk 2".
    • getRootDirectory

      Directory getRootDirectory()
      All FileStores support a "root" directory that references all files.
    • getPathSeparator

      String getPathSeparator()
      This is the path separator character.
    • getDisplayColumns

      List<DisplayColumn> getDisplayColumns()
      Yields a list of columns to be used in this display mode.
    • flush

      default void flush()

      Flush any pending writes back to the source. This is intended to handle archives as they do not have a fixed structure to write changes. flush should be invoked before a save.

      Example usage:

      FileStore fileStore = fileStoreSelection.getSelectedItem();
      fileStore.flush();
      Source source = fileStore.get(Source.class).orElseThrow();
      source.save();