Simple Machine

machine
Class RegisterSet

java.lang.Object
  extended by java.util.Observable
      extended by util.AbstractDataModel
          extended by machine.RegisterSet
All Implemented Interfaces:
Observer, DataModel

public class RegisterSet
extends AbstractDataModel
implements Observer

Set of machine registers.


Nested Class Summary
 class RegisterSet.InvalidRegisterNameError
           
 class RegisterSet.InvalidRegisterNumberException
           
 class RegisterSet.Ports
          Public access to register set as a indexed list of ports
 
Constructor Summary
RegisterSet(String aName)
           
 
Method Summary
 Register add(String regName, Class regClass, boolean isUnsigned, boolean isUserEditable, boolean isVisible, long bubbleValue)
           
 Register addSigned(String regName)
           
 Register addSigned(String regName, boolean isUserEditable)
           
 Register addSigned(String regName, Class regClass)
           
 Register addUnsigned(String regName)
           
 Register addUnsigned(String regName, boolean isUserEditable)
           
 Register addUnsigned(String regName, Class regClass)
           
 Register addUnsigned(String regName, Class regClass, boolean isUserEditable)
           
 Register addUnsigned(String regName, Class regClass, long bubbleValue)
           
 List<Register> getAll()
           
 Class getColumnClass(int columnIndex)
           
 int getColumnCount()
           
 String getColumnName(int columnIndex)
           
 int getInputValue(int regIndex)
           
 int getInputValue(String regName)
           
 String getName()
           
 RegisterSet.Ports getPorts()
           
 Register getRegister(String aName)
           
 int getRowCount()
           
 int getValue(String regName)
           
 Object getValueAt(int rowIndex, int columnIndex)
           
 boolean isCellEditable(int rowIndex, int columnIndex)
           
 void setValue(String regName, long value)
           
 void setValueAt(Object aValue, int rowIndex, int columnIndex)
           
 void setValueAtByUser(Object aValue, int rowIndex, int columnIndex)
           
 void tickClock(Register.ClockTransition transition)
           
 void update(Observable o, Object obj)
           
 boolean valueEquals(RegisterSet anotherRegisterSet)
           
 
Methods inherited from class util.AbstractDataModel
addUndoableEditListener, canDeleteRow, canInsertRow, deleteRow, insertRow, setValueAt, setValueAtByUser, tellObservers, tellObservers
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface util.DataModel
addObserver
 

Constructor Detail

RegisterSet

public RegisterSet(String aName)
Method Detail

valueEquals

public boolean valueEquals(RegisterSet anotherRegisterSet)

getPorts

public RegisterSet.Ports getPorts()

add

public Register add(String regName,
                    Class regClass,
                    boolean isUnsigned,
                    boolean isUserEditable,
                    boolean isVisible,
                    long bubbleValue)

addUnsigned

public Register addUnsigned(String regName,
                            Class regClass,
                            long bubbleValue)

addUnsigned

public Register addUnsigned(String regName,
                            Class regClass,
                            boolean isUserEditable)

addUnsigned

public Register addUnsigned(String regName,
                            Class regClass)

addSigned

public Register addSigned(String regName,
                          Class regClass)

addUnsigned

public Register addUnsigned(String regName,
                            boolean isUserEditable)

addSigned

public Register addSigned(String regName,
                          boolean isUserEditable)

addUnsigned

public Register addUnsigned(String regName)

addSigned

public Register addSigned(String regName)

getRegister

public Register getRegister(String aName)

getAll

public List<Register> getAll()

getName

public String getName()

getValue

public int getValue(String regName)
             throws RegisterSet.InvalidRegisterNameError
Throws:
RegisterSet.InvalidRegisterNameError

getInputValue

public int getInputValue(String regName)
                  throws RegisterSet.InvalidRegisterNameError,
                         Register.TimingException
Throws:
RegisterSet.InvalidRegisterNameError
Register.TimingException

getInputValue

public int getInputValue(int regIndex)
                  throws RegisterSet.InvalidRegisterNumberException,
                         Register.TimingException
Throws:
RegisterSet.InvalidRegisterNumberException
Register.TimingException

setValue

public void setValue(String regName,
                     long value)
              throws RegisterSet.InvalidRegisterNameError
Throws:
RegisterSet.InvalidRegisterNameError

tickClock

public void tickClock(Register.ClockTransition transition)

update

public void update(Observable o,
                   Object obj)
Specified by:
update in interface Observer

getColumnCount

public int getColumnCount()
Specified by:
getColumnCount in interface DataModel
Overrides:
getColumnCount in class AbstractDataModel

getColumnClass

public Class getColumnClass(int columnIndex)
Specified by:
getColumnClass in interface DataModel
Overrides:
getColumnClass in class AbstractDataModel

getColumnName

public String getColumnName(int columnIndex)
Specified by:
getColumnName in interface DataModel
Overrides:
getColumnName in class AbstractDataModel

getRowCount

public int getRowCount()
Specified by:
getRowCount in interface DataModel
Overrides:
getRowCount in class AbstractDataModel

getValueAt

public Object getValueAt(int rowIndex,
                         int columnIndex)
Specified by:
getValueAt in interface DataModel
Overrides:
getValueAt in class AbstractDataModel

isCellEditable

public boolean isCellEditable(int rowIndex,
                              int columnIndex)
Specified by:
isCellEditable in interface DataModel
Overrides:
isCellEditable in class AbstractDataModel

setValueAt

public void setValueAt(Object aValue,
                       int rowIndex,
                       int columnIndex)
Specified by:
setValueAt in interface DataModel
Overrides:
setValueAt in class AbstractDataModel

setValueAtByUser

public void setValueAtByUser(Object aValue,
                             int rowIndex,
                             int columnIndex)
Specified by:
setValueAtByUser in interface DataModel
Overrides:
setValueAtByUser in class AbstractDataModel

Simple Machine

Copyright © 2010, 2011 Mike Feeley. All Rights Reserved.