From 51623c2d424ce6b938a7ba63b3f16018f545d295 Mon Sep 17 00:00:00 2001 From: Robert Greene Date: Thu, 3 Jun 2004 03:22:09 +0000 Subject: [PATCH] Added changeImageOrder. --- .../applecommander/storage/DosFormatDisk.java | 10 ++++++++++ .../applecommander/storage/FormattedDisk.java | 8 ++++++++ .../applecommander/storage/PascalFormatDisk.java | 10 ++++++++++ .../applecommander/storage/ProdosFormatDisk.java | 10 ++++++++++ .../applecommander/storage/RdosFormatDisk.java | 11 +++++++++++ 5 files changed, 49 insertions(+) diff --git a/src/com/webcodepro/applecommander/storage/DosFormatDisk.java b/src/com/webcodepro/applecommander/storage/DosFormatDisk.java index 831a520..ec9e407 100644 --- a/src/com/webcodepro/applecommander/storage/DosFormatDisk.java +++ b/src/com/webcodepro/applecommander/storage/DosFormatDisk.java @@ -708,4 +708,14 @@ public class DosFormatDisk extends FormattedDisk { public boolean supportsDiskMap() { return true; } + + /** + * Change to a different ImageOrder. Remains in DOS 3.3 format but + * the underlying order can chage. + * @see ImageOrder + */ + public void changeImageOrder(ImageOrder imageOrder) { + AppleUtil.changeImageOrderByTrackAndSector(getImageOrder(), imageOrder); + setImageOrder(imageOrder); + } } diff --git a/src/com/webcodepro/applecommander/storage/FormattedDisk.java b/src/com/webcodepro/applecommander/storage/FormattedDisk.java index e022559..09bd792 100644 --- a/src/com/webcodepro/applecommander/storage/FormattedDisk.java +++ b/src/com/webcodepro/applecommander/storage/FormattedDisk.java @@ -371,4 +371,12 @@ public abstract class FormattedDisk extends Disk implements DirectoryEntry { public boolean supportsDiskMap() { return false; } + + /** + * Change the physical ordering of the disk. This must be implemented by all + * subclasses. See AppleUtil for common utility methods. (It is assumed that a + * disk needs to be copied in the appropriate order - ie, by track and sector for + * a DOS type disk or by blocks in a ProDOS type disk.) + */ + public abstract void changeImageOrder(ImageOrder imageOrder); } diff --git a/src/com/webcodepro/applecommander/storage/PascalFormatDisk.java b/src/com/webcodepro/applecommander/storage/PascalFormatDisk.java index 68cf657..cedd1ea 100644 --- a/src/com/webcodepro/applecommander/storage/PascalFormatDisk.java +++ b/src/com/webcodepro/applecommander/storage/PascalFormatDisk.java @@ -529,4 +529,14 @@ public class PascalFormatDisk extends FormattedDisk { public boolean supportsDiskMap() { return true; } + + /** + * Change to a different ImageOrder. Remains in Pascal format but + * the underlying order can chage. + * @see ImageOrder + */ + public void changeImageOrder(ImageOrder imageOrder) { + AppleUtil.changeImageOrderByBlock(getImageOrder(), imageOrder); + setImageOrder(imageOrder); + } } diff --git a/src/com/webcodepro/applecommander/storage/ProdosFormatDisk.java b/src/com/webcodepro/applecommander/storage/ProdosFormatDisk.java index 047de99..f6f97d2 100644 --- a/src/com/webcodepro/applecommander/storage/ProdosFormatDisk.java +++ b/src/com/webcodepro/applecommander/storage/ProdosFormatDisk.java @@ -935,4 +935,14 @@ public class ProdosFormatDisk extends FormattedDisk { public boolean supportsDiskMap() { return true; } + + /** + * Change to a different ImageOrder. Remains in ProDOS format but + * the underlying order can chage. + * @see ImageOrder + */ + public void changeImageOrder(ImageOrder imageOrder) { + AppleUtil.changeImageOrderByBlock(getImageOrder(), imageOrder); + setImageOrder(imageOrder); + } } diff --git a/src/com/webcodepro/applecommander/storage/RdosFormatDisk.java b/src/com/webcodepro/applecommander/storage/RdosFormatDisk.java index 89c61b0..498051e 100644 --- a/src/com/webcodepro/applecommander/storage/RdosFormatDisk.java +++ b/src/com/webcodepro/applecommander/storage/RdosFormatDisk.java @@ -476,4 +476,15 @@ public class RdosFormatDisk extends FormattedDisk { public boolean supportsDiskMap() { return true; } + + + /** + * Change to a different ImageOrder. Remains in RDOS format but + * the underlying order can chage. + * @see ImageOrder + */ + public void changeImageOrder(ImageOrder imageOrder) { + AppleUtil.changeImageOrderByTrackAndSector(getImageOrder(), imageOrder); + setImageOrder(imageOrder); + } }