package com.bytezone.diskbrowser.disk; import java.awt.Dimension; import java.nio.file.Path; import java.util.List; import javax.swing.JTree; import com.bytezone.diskbrowser.applefile.AbstractFile; import com.bytezone.diskbrowser.applefile.AppleFileSource; import com.bytezone.diskbrowser.gui.DataSource; // -----------------------------------------------------------------------------------// public interface FormattedDisk // -----------------------------------------------------------------------------------// { // Methods to be implemented by the implementer public DataSource getFormattedSector (DiskAddress da); public List getFileSectors (int fileNo); // Methods implemented by AbstractFormattedDisk public JTree getCatalogTree (); // each node is an AppleFileSource public List getCatalogList (); public void writeFile (AbstractFile file); public SectorType getSectorType (int track, int sector); public SectorType getSectorType (int block); public SectorType getSectorType (DiskAddress da); public void setSectorType (int block, SectorType type); public String getSectorFilename (DiskAddress da); public List getSectorTypeList (); public Disk getDisk (); public FormattedDisk getParent (); public void setParent (FormattedDisk disk); public AppleFileSource getCatalog (); public AppleFileSource getFile (String uniqueName); public int clearOrphans (); public void setSectorFree (int block, boolean free); public boolean isSectorFree (DiskAddress da); public boolean isSectorFree (int block); public void verify (); public boolean stillAvailable (DiskAddress da); public boolean stillAvailable (int block); public Dimension getGridLayout (); public String getAbsolutePath (); public String getDisplayPath (); public void setOriginalPath (Path path); public Path getOriginalPath (); public boolean isTempDisk (); // VTOC flags sector as free, but it is in use by a file public int falsePositiveBlocks (); // VTOC flags sector as in use, but no file is using it public int falseNegativeBlocks (); public String getName (); }