[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]

ClosedShadowedHashTable

inherits from ClosedObjectHashTable
inherits from ObjectHashTableGenerations
inherits from PrivateHandlesGenerationsItself

Object <- FixedList <- ClosedObjectHashTable <- ClosedShadowedHashTable



Operations

Get list of all operations

AbortChangesToEntries
AddEntryAndData
AdjustTableSize
CommitChangesToEntries
EntryAtHasGeneration
EntryAtObjectDeleted
EntryAtSetHasGeneration
EntryDataAt
FindEntryWithData
LookUpCommittedEntry
LookUpEntryWithGenerations
LookUpObject
Reinsert
SetEntryAtObjectDeleted
SetEntryDataAt
ShadowEntry


Attributes

Get list of all attributes

Class ClosedShadowedHashTable defines no new attributes.


Fields

Field Type
ClosedObjectHashTable: numEntries: Unsigned
numDeletedEntries: Unsigned


Instance template

instance ClosedShadowedHashTable tag;
     numEntries: 0;
numDeletedEntries: 0;
end instance;

Class definition

Define Class ClosedShadowedHashTable;
    inherits from ClosedObjectHashTable, ObjectHashTableGenerations;
    inherits from PrivateHandlesGenerationsItself;

    overrides LookUpObject;
    overrides AddEntryAndData;
    overrides AdjustTableSize;
    
    overrides EntryDataAt;
    overrides SetEntryDataAt;
    overrides FindEntryWithData;

    // generation handling calls
    overrides EntryAtHasGeneration;
    overrides EntryAtSetHasGeneration;
    overrides ShadowEntry;

    operation EntryAtObjectDeleted(index :Signed): Boolean;
    operation SetEntryAtObjectDeleted(index :Signed);
        // used to delete a name when a corresponding object is deleted; the name
        // stays in the dictionary until the next commit

    // private calls
    overrides LookUpEntryWithGenerations;
    overrides LookUpCommittedEntry;
    overrides Reinsert;
    overrides CommitChangesToEntries;
    overrides AbortChangesToEntries;
end class;