dmolony-DiskBrowser/src/com/bytezone/diskbrowser/disk/FormattedDisk.java

84 lines
2.1 KiB
Java
Executable File

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<DiskAddress> getFileSectors (int fileNo);
// Methods implemented by AbstractFormattedDisk
public JTree getCatalogTree (); // each node is an AppleFileSource
public List<AppleFileSource> 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<SectorType> 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 ();
}