|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object
|
+--org.abora.gold.java.AboraHeaper
|
+--org.abora.gold.xpp.basic.Heaper
|
+--org.abora.gold.collection.settable.SetTable
SetTable is a table-like object (NOT at true table) that can store multiple values at a
single position. See MuTable for comments on the protocol.
The reason that this is not a table subclass is because of several ambiguities in the
contract. For example, replace for a table implies that the position must be previously
occupied, but in a settable the position is occupied only if the exact association
(key->value) is present.
| Field Summary | |
protected CoordinateSpace |
myCoordinateSpace
|
protected SharedPtrArray |
myHashEntries
|
protected int |
myTally
|
| Fields inherited from class org.abora.gold.xpp.basic.Heaper |
AllBlasts, BecomeMap, GarbageCount, InGC, InitializedClasses, InitializingClasses, LastMemory, NextClientRequestNumber, NotOneElementSignal, PackageTable, PromiseNameTable, StringHashSBoxes |
| Fields inherited from class org.abora.gold.java.AboraHeaper |
ActiveClubs, CurrentAuthor, CurrentBertCanopyCache, CurrentBertCrum, CurrentChunk, CurrentGrandMap, CurrentKeyMaster, CurrentPacker, CurrentSensorCanopyCache, CurrentServer, CurrentSession, CurrentSessions, CurrentTrace, InitialEditClub, InitialOwner, InitialReadClub, InitialSponsor, InsideTransactionFlag |
| Constructor Summary | |
SetTable(Rcvr receiver)
|
|
SetTable(SharedPtrArray entries,
int tally,
CoordinateSpace cs)
|
|
| Method Summary | |
void |
aboutToWrite()
If my contents are shared, and I'm about to change them, make a copy of them. |
int |
actualHashForEqual()
|
boolean |
atIncludes(Position key,
Heaper value)
|
void |
atIntIntroduce(IntegerVar index,
Heaper anObject)
|
void |
atIntroduce(Position aKey,
Heaper anObject)
Store anObject at position aKey; BLAST if position is already occupied (for SetTable, there must be an object that isEqual to anObject at aKey for the position to be considered occupied) |
boolean |
atIntStore(IntegerVar index,
Heaper anObject)
|
boolean |
atStore(Position aKey,
Heaper anObject)
Store anObject at position aKey; return TRUE if store accomplished, FALSE otherwise |
void |
checkSize()
|
CoordinateSpace |
coordinateSpace()
|
IntegerVar |
count()
|
void |
destruct()
Classes should implement this message rather than a destructor. |
XnRegion |
domain()
|
SetTable |
emptySize(IntegerVar size)
return an empty table just like the current one |
boolean |
includesKey(Position aKey)
|
void |
inspect()
|
void |
intRemove(IntegerVar index,
Heaper value)
|
boolean |
isEmpty()
|
boolean |
isEqual(java.lang.Object other)
|
static Heaper |
make(CoordinateSpace cs)
|
static Heaper |
make(CoordinateSpace cs,
IntegerVar size)
|
void |
printOn(java.io.PrintWriter oo)
|
void |
printOnWithSimpleSyntax(java.io.PrintWriter oo,
java.lang.String open,
java.lang.String sep,
java.lang.String close)
|
void |
remove(Position key,
Heaper value)
|
XnRegion |
runAt(Position index)
|
XnRegion |
runAtInt(IntegerVar index)
|
void |
sendSelfTo(Xmtr xmtr)
do nothing |
void |
stepper()
|
TableStepper |
stepper(OrderSpec order)
ignore order spec for now |
Stepper |
stepperAt(Position key)
|
Stepper |
stepperAtInt(IntegerVar index)
|
void |
storeEntry(TableEntry entry)
|
boolean |
wipe(IntegerVar index,
Heaper value)
|
boolean |
wipeAssociation(Position key,
Heaper value)
|
| Methods inherited from class org.abora.gold.java.AboraHeaper |
asOop, basicInspect, displayString, error, hack, halt, knownBug, mightNotImplement, REQUIRES, shouldImplement, shouldNotImplement, stubbleForSubclassResponsibility, thingToDo, willNotImplement |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected SharedPtrArray myHashEntries
protected int myTally
protected CoordinateSpace myCoordinateSpace
| Constructor Detail |
public SetTable(SharedPtrArray entries,
int tally,
CoordinateSpace cs)
public SetTable(Rcvr receiver)
| Method Detail |
public void atIntroduce(Position aKey,
Heaper anObject)
public boolean atStore(Position aKey,
Heaper anObject)
public void atIntIntroduce(IntegerVar index,
Heaper anObject)
public boolean atIntStore(IntegerVar index,
Heaper anObject)
public CoordinateSpace coordinateSpace()
public IntegerVar count()
public XnRegion domain()
public void intRemove(IntegerVar index,
Heaper value)
public void remove(Position key,
Heaper value)
public boolean wipe(IntegerVar index,
Heaper value)
public boolean wipeAssociation(Position key,
Heaper value)
public void printOn(java.io.PrintWriter oo)
printOn in class Heaper
public void printOnWithSimpleSyntax(java.io.PrintWriter oo,
java.lang.String open,
java.lang.String sep,
java.lang.String close)
public XnRegion runAt(Position index)
public XnRegion runAtInt(IntegerVar index)
public TableStepper stepper(OrderSpec order)
public Stepper stepperAt(Position key)
public Stepper stepperAtInt(IntegerVar index)
public void destruct()
Heaper
destruct in class Heaperpublic SetTable emptySize(IntegerVar size)
public void stepper()
public boolean atIncludes(Position key,
Heaper value)
public boolean includesKey(Position aKey)
public boolean isEmpty()
public void aboutToWrite()
public void checkSize()
public void storeEntry(TableEntry entry)
public void inspect()
inspect in class AboraHeaperpublic int actualHashForEqual()
actualHashForEqual in class Heaperpublic boolean isEqual(java.lang.Object other)
public void sendSelfTo(Xmtr xmtr)
Heaper
sendSelfTo in class Heaperpublic static Heaper make(CoordinateSpace cs)
public static Heaper make(CoordinateSpace cs,
IntegerVar size)
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||