public abstract class AbstractUninterruptibleHashtable extends Object implements UninterruptibleHashtable
| Constructor and Description |
|---|
AbstractUninterruptibleHashtable() |
AbstractUninterruptibleHashtable(int primeLength) |
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Clear all entries from map.
|
protected abstract UninterruptibleEntry |
copyToHeap(UninterruptibleEntry valueOnStack) |
protected UninterruptibleEntry |
copyToHeap(UninterruptibleEntry pointerOnStack,
org.graalvm.word.UnsignedWord sizeToAlloc) |
protected abstract UninterruptibleEntry[] |
createTable(int length) |
protected void |
free(UninterruptibleEntry entry) |
UninterruptibleEntry |
get(UninterruptibleEntry valueOnStack)
Returns the matching value for
valueOnStack from the hashtable. |
UninterruptibleEntry |
getOrPut(UninterruptibleEntry valueOnStack)
If the hashtable contains an existing entry that matches
valueOnStack, then this
existing entry will be returned and no value will be inserted. |
int |
getSize()
Gets the number of entries that are in the hashtable.
|
UninterruptibleEntry[] |
getTable()
Returns the internal array of the hashtable.
|
protected UninterruptibleEntry |
insertEntry(UninterruptibleEntry valueOnStack) |
protected abstract boolean |
isEqual(UninterruptibleEntry a,
UninterruptibleEntry b) |
boolean |
putIfAbsent(UninterruptibleEntry valueOnStack)
Tries to insert
valueOnStack into the hashtable. |
void |
teardown()
Teardown hashtable.
|
public AbstractUninterruptibleHashtable()
public AbstractUninterruptibleHashtable(int primeLength)
protected abstract UninterruptibleEntry[] createTable(int length)
protected abstract boolean isEqual(UninterruptibleEntry a, UninterruptibleEntry b)
protected abstract UninterruptibleEntry copyToHeap(UninterruptibleEntry valueOnStack)
protected UninterruptibleEntry copyToHeap(UninterruptibleEntry pointerOnStack, org.graalvm.word.UnsignedWord sizeToAlloc)
protected void free(UninterruptibleEntry entry)
protected UninterruptibleEntry insertEntry(UninterruptibleEntry valueOnStack)
public int getSize()
UninterruptibleHashtablegetSize in interface UninterruptibleHashtablepublic UninterruptibleEntry[] getTable()
UninterruptibleHashtablegetTable in interface UninterruptibleHashtablepublic UninterruptibleEntry get(UninterruptibleEntry valueOnStack)
UninterruptibleHashtablevalueOnStack from the hashtable. If there is no
matching value in the hashtable, a null pointer is returned.get in interface UninterruptibleHashtablepublic UninterruptibleEntry getOrPut(UninterruptibleEntry valueOnStack)
UninterruptibleHashtablevalueOnStack, then this
existing entry will be returned and no value will be inserted.
If there wasn't already a matching entry, this method tries to create and insert a new entry
hashtable. If an error occurred while inserting the entry, a null pointer is returned
instead.getOrPut in interface UninterruptibleHashtablepublic boolean putIfAbsent(UninterruptibleEntry valueOnStack)
UninterruptibleHashtablevalueOnStack into the hashtable. Returns false if there was already a
matching entry in the hashtable or if an error occurred while insert the entry. Returns true
if the entry was inserted successfully.putIfAbsent in interface UninterruptibleHashtablepublic void clear()
UninterruptibleHashtableclear in interface UninterruptibleHashtablepublic void teardown()
UninterruptibleHashtableteardown in interface UninterruptibleHashtable