[operations] [attributes] [fields] [template] [definition]
[implementation] [documentation]
To use the search tool you need to use a browser which supports JAVA (c)

[next] [prev] [superclass] [next peer] [prev peer] [subclass] [index] [hierarchy]

ClassNumberKeyObjectValueHashTable

inherits from RenumberableKeyHashTable

... <- IntegerList <- HashTable <- RenumberableHashTable <- RenumberableKeyHashTable <- ClassNumberKeyObjectValueHashTable



Operations

Get list of all operations

Init
ReadHashEntryAt
RehashTable
WriteHashEntryAt
WriteHashEntryHeaderAt


Attributes

Get list of all attributes

RenumberablesListClass


Fields

Field Type
HashTable: hashEntries: FixedList
hashEntrySize: Unsigned
lgCount: Unsigned
entryCount: Unsigned
firstFreeEntry: Unsigned
minPercentFull: UnsignedShort
maxPercentFull: UnsignedShort
RenumberableHashTable: renumberables: FixedList
ClassNumberKeyObjectValueHashTable: objects: ObjectList


Instance template

instance ClassNumberKeyObjectValueHashTable tag;
    hashEntries: nilObject;
  hashEntrySize: 0;
        lgCount: 0;
     entryCount: 0;
 firstFreeEntry: 0;
 minPercentFull: 0;
 maxPercentFull: 0;
  renumberables: nilObject;
        objects: nilObject;
end instance;

Class definition

Define Class ClassNumberKeyObjectValueHashTable;
    inherits from RenumberableKeyHashTable;
    
    // this class can be used for hash tables that have a class number as the key
    // an an object as the first part of the value
    // each entry starts with the key, and has the object reference after it
    // table must be rehashed when class numbers are renumbered
    
    field objects: ObjectList;
        // list of object values, parallel to HashTable_entries and RenumberableHashTable_renumberables
    
    overrides Init;
        // store new list in objects field
    
    overrides RenumberablesListClass;
        // returns ClassNumberList_ so RenumberableHashTable will make us a class number list
    
    overrides RehashTable;
        // sets count of objects field to match count of HashEntries after calling inherited method
    
    overrides ReadHashEntryAt;
        // reads class from renumberables list, object from objects list,
        // then calls inherited method to read rest of data from HashEntries(self)
    overrides WriteHashEntryAt;
        // writes class into renumberables list, object into objects list,
        // then calls inherited method to store rest of data into HashEntries(self)
    
    overrides WriteHashEntryHeaderAt;
        // clears out entries in objects list that correspond to deleted entries
    
end class;