mars.mips.dump
Class AbstractDumpFormat

java.lang.Object
  extended by mars.mips.dump.AbstractDumpFormat
All Implemented Interfaces:
DumpFormat
Direct Known Subclasses:
AsciiTextDumpFormat, BinaryDumpFormat, BinaryTextDumpFormat, HexTextDumpFormat, IntelHexDumpFormat, SegmentWindowDumpFormat

public abstract class AbstractDumpFormat
extends Object
implements DumpFormat

Abstract class for memory dump file formats. Provides constructors and defaults for everything except the dumpMemoryRange method itself.

Author:
Pete Sanderson

Constructor Summary
AbstractDumpFormat(String name, String commandDescriptor, String description, String extension)
          Typical constructor.
 
Method Summary
abstract  void dumpMemoryRange(File file, int firstAddress, int lastAddress)
          Write MIPS memory contents according to the specification for this format.
 String getCommandDescriptor()
          One-word description of format to be used by MARS command mode parser and user in conjunction with the "dump" option.
 String getDescription()
          Get a short description of the format, suitable for displaying along with the extension, in the file save dialog, or as a tool tip.
 String getFileExtension()
          Get the file extension associated with this format.
 String toString()
          String representing this object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractDumpFormat

public AbstractDumpFormat(String name,
                          String commandDescriptor,
                          String description,
                          String extension)
Typical constructor. Note you cannot creates objects from this class but subclass constructor can call this one.

Parameters:
name - Brief descriptive name to be displayed in selection list.
commandDescriptor - One-word descriptive name to be used by MARS command mode parser and user. Any spaces in this string will be removed.
description - Description to go with standard file extension for display in file save dialog or to be used as tool tip.
extension - Standard file extension for this format. Null if none.
Method Detail

getFileExtension

public String getFileExtension()
Get the file extension associated with this format.

Specified by:
getFileExtension in interface DumpFormat
Returns:
String containing file extension -- without the leading "." -- or null if there is no standard extension.

getDescription

public String getDescription()
Get a short description of the format, suitable for displaying along with the extension, in the file save dialog, or as a tool tip.

Specified by:
getDescription in interface DumpFormat
Returns:
String containing short description to go with the extension or for use as tool tip. Possibly null.

toString

public String toString()
String representing this object.

Specified by:
toString in interface DumpFormat
Overrides:
toString in class Object
Returns:
Name given for this object.

getCommandDescriptor

public String getCommandDescriptor()
One-word description of format to be used by MARS command mode parser and user in conjunction with the "dump" option.

Specified by:
getCommandDescriptor in interface DumpFormat
Returns:
One-word String describing the format.

dumpMemoryRange

public abstract void dumpMemoryRange(File file,
                                     int firstAddress,
                                     int lastAddress)
                              throws AddressErrorException,
                                     IOException
Write MIPS memory contents according to the specification for this format.

Specified by:
dumpMemoryRange in interface DumpFormat
Parameters:
file - File in which to store MIPS memory contents.
firstAddress - first (lowest) memory address to dump. In bytes but must be on word boundary.
lastAddress - last (highest) memory address to dump. In bytes but must be on word boundary. Will dump the word that starts at this address.
Throws:
AddressErrorException - if firstAddress is invalid or not on a word boundary.
IOException - if error occurs during file output.