Class PascalFileEntry

java.lang.Object
com.webcodepro.applecommander.storage.os.pascal.PascalFileEntry
All Implemented Interfaces:
FileEntry

public class PascalFileEntry extends Object implements FileEntry
Represents a Pascal file entry on disk.

Date created: Oct 5, 2002 12:22:34 AM

  • Constructor Details

    • PascalFileEntry

      public PascalFileEntry(byte[] fileEntry, int index, PascalFormatDisk disk)
      Constructor for PascalFileEntry.
  • Method Details

    • writeFileEntry

      protected void writeFileEntry()
      Write the fileEntry data to the disk image.
    • getFirstBlock

      public int getFirstBlock()
      Get the block number of the file's 1st block.
    • setFirstBlock

      public void setFirstBlock(int first)
      Set the block number of the file's 1st block.
    • getLastBlock

      public int getLastBlock()
      Get the block number of the file's last block + 1.
    • setLastBlock

      public void setLastBlock(int last)
      Set the block number of the file's last block + 1.
    • getFilename

      public String getFilename()
      Return the name of this file.
      Specified by:
      getFilename in interface FileEntry
    • setFilename

      public void setFilename(String filename)
      Set the name of this file.
      Specified by:
      setFilename in interface FileEntry
    • getMaximumFilenameLength

      public int getMaximumFilenameLength()
      Return the maximum filename length.
      Specified by:
      getMaximumFilenameLength in interface FileEntry
    • getFiletype

      public String getFiletype()
      Return the filetype of this file.
      Specified by:
      getFiletype in interface FileEntry
    • setFiletype

      public void setFiletype(String filetype)
      Set the filetype.
      Specified by:
      setFiletype in interface FileEntry
    • isLocked

      public boolean isLocked()
      Identify if this file is locked
      Specified by:
      isLocked in interface FileEntry
    • setLocked

      public void setLocked(boolean lock)
      Set the lock indicator.
      Specified by:
      setLocked in interface FileEntry
    • getBytesUsedInLastBlock

      public int getBytesUsedInLastBlock()
      Get the number of bytes used in files last block.
    • setBytesUsedInLastBlock

      public void setBytesUsedInLastBlock(int value)
      Set the number of bytes used in files last block.
    • getSize

      public int getSize()
      Compute the size of this file (in bytes).
      Specified by:
      getSize in interface FileEntry
    • getBlocksUsed

      public int getBlocksUsed()
      Compute the blocks used.
    • isDirectory

      public boolean isDirectory()
      Pascal does not support directories.
      Specified by:
      isDirectory in interface FileEntry
    • getFiles

      public List<PascalFileEntry> getFiles()
      Retrieve the list of files in this directory. Always returns null, as Pascal does not support directories.
    • isDeleted

      public boolean isDeleted()
      Pascal file entries are removed upon deletion, so a file entry need not be marked as deleted. But the GUI still has a copy of the file list in memory, so we mark it deleted in delete().
      Specified by:
      isDeleted in interface FileEntry
    • delete

      public void delete()
      Delete the file.
      Specified by:
      delete in interface FileEntry
    • getModificationDate

      public Date getModificationDate()
      Get the file modification date.
    • setModificationDate

      public void setModificationDate(Date date)
      Set the file modification date.
    • getFileColumnData

      public List<String> getFileColumnData(int displayMode)
      Get the standard file column header information. This default implementation is intended only for standard mode. displayMode is specified in FormattedDisk.
      Specified by:
      getFileColumnData in interface FileEntry
    • getFileData

      public byte[] getFileData()
      Get file data. This handles any operating-system specific issues. Currently, the disk itself handles this.
      Specified by:
      getFileData in interface FileEntry
    • setFileData

      public void setFileData(byte[] data) throws DiskFullException
      Set file data for this file entry. Because the directory entry may have been changed, use this.index to determine which entry to update. author John B. Matthews.
      Specified by:
      setFileData in interface FileEntry
      Throws:
      DiskFullException
      See Also:
    • getSuggestedFilter

      public FileFilter getSuggestedFilter()
      Get the suggested FileFilter. This appears to be operating system specific, so each operating system needs to implement some manner of guessing the appropriate filter.
      Specified by:
      getSuggestedFilter in interface FileEntry
    • getFormattedDisk

      public FormattedDisk getFormattedDisk()
      Get the FormattedDisk associated with this FileEntry. This is useful to interfaces that need to retrieve the associated disk.
      Specified by:
      getFormattedDisk in interface FileEntry
    • toBytes

      public byte[] toBytes()
      Get the byte[] associated with this FileEntry. This is need to manipulate the directory as a whole.
    • needsAddress

      public boolean needsAddress()
      Indicates if this filetype requires an address component. Note that the FormattedDisk also has this method - normally, this will defer to the method on FormattedDisk, as it will be more generic.
      Specified by:
      needsAddress in interface FileEntry
    • setAddress

      public void setAddress(int address)
      Set the address that this file loads at.
      Specified by:
      setAddress in interface FileEntry
    • getAddress

      public int getAddress()
      Get the address that this file loads at.
      Specified by:
      getAddress in interface FileEntry
    • setFileCount

      public void setFileCount(int count)
      Set the file count in a volume entry. Use only on the volume entry: dir.get(0). author John B. Matthews