Interface FileStoreFactory
- All Known Implementing Classes:
AppleArchiveFormatFileStoreFactory, DiskFileStoreFactory, GamedosFileStoreFactory, ShrinkitFileStoreFactory, ZipFileStoreFactory
public interface FileStoreFactory
The FileStoreFactory inspects a given Source to see if it matches any known file store(s).
Invoke via FileStores.inspect(Source) which will return a Context. The Context can be empty.
If this is the case, devices can be created via the FileStoreFactory.Context.blockDevice() and
FileStoreFactory.Context.trackSectorDevice() builders.
The builders follow the observation about what each filesystem currently uses:
| OS | 13-sector | 16-sector | 800K | HDV |
|---|---|---|---|---|
| CP/M | - | CP/M | - | - |
| DOS | Physical | DOS | Pascal | - |
| GameDOS | - | DOS | - | - |
| Gutenberg | - | DOS | - | - |
| NakedOS | - | Physical | - | - |
| Pascal | - | Pascal | Pascal | Pascal |
| RDOS | Physical | DOS | - | - |
- 13-sector disks are only track/sector devices. (And RDOS has a unique mapping to 256 byte blocks).
- 16-sector disks have a variety of sector mappings. It can also double as a "standard" 512 byte block, as well as a unique CP/M 1024 block device.
- 800K disks are only standard 512 byte block (Prodos or Pascal). OzDOS and UniDOS do have unique mappings to track and sector, but logically, they are block devices.
- Anything else (larger than 800K) are "hard-disk" images and only blocks.
Note that much of this logic is deferred to the "old" AppleCommander APIs for the time being.
-
Nested Class Summary
Nested Classes -
Method Summary
-
Method Details
-
inspect
-