|
||||||||
| 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.tables.ScruTable
|
+--org.abora.gold.collection.tables.MuTable
MuTable represents the base class for all side-effectable tables. It provides the basic
change protocol for tables. See MuSet.
| Field Summary | |
protected static Signal |
AlreadyInTableSignal
|
protected static Signal |
NotInDomainSignal
|
protected static Signal |
NullInsertionSignal
|
| Fields inherited from class org.abora.gold.collection.tables.ScruTable |
NotInTableSignal, WrongCoordSpaceSignal |
| 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 | |
MuTable()
Create a new table with an unspecified number of initial domain positions. |
|
MuTable(Rcvr receiver)
|
|
| Method Summary | |
int |
actualHashForEqual()
See ScruTable::isEqual |
ImmuTable |
asImmuTable()
Return a side-effect-free snapshot of my current contents. See ScruSet::asImmuSet. |
MuTable |
asMuTable()
Note that muTable->asMuTable() returns a copy of the original. |
void |
atIntIntroduce(IntegerVar key,
Heaper value)
Unboxed version. |
void |
atIntReplace(IntegerVar key,
Heaper value)
Unboxed version. |
void |
atIntroduce(Position key,
Heaper value)
Associate key with value unless key is already associated with another value. |
Heaper |
atIntStore(IntegerVar aKey,
Heaper anObject)
Unboxed version. |
void |
atReplace(Position key,
Heaper value)
Associate key with value only if key is already associated with a value. |
Heaper |
atStore(Position key,
Heaper value)
Associate value with key, whether or not there is a previous association. Return the old range element if the position was previously occupied, NULL otherwise |
CoordinateSpace |
coordinateSpace()
The kind of elements used to index into the table are Positions of this coordinate space. |
ScruTable |
copy()
A new one whose initial state is my current state, but that doesn't track changes. |
IntegerVar |
count()
Return the number of domain elements, which is to say, the number of associations. 'table->count()' should be equivalent to 'table->domain()->count()'. Used to say: 'Return the number of range elements'. |
XnRegion |
domain()
Return an XuRegion representing a snapshot of the current domain. 'table->domain()->hasMember(p)' iff 'table->fetch(p) !!= NULL'. |
ScruTable |
emptySize(IntegerVar size)
Return an empty table just like the current one. |
Heaper |
fetch(Position key)
Return the range element at the domain position key. |
boolean |
includesIntKey(IntegerVar aKey)
Unboxed version. |
boolean |
includesKey(Position aKey)
includesKey is used to test for the presence of a key->value pair in the table. |
static void |
initTimeNonInherited()
|
Heaper |
intFetch(IntegerVar key)
Unboxed version. |
void |
intRemove(IntegerVar anIdx)
Unboxed version. |
void |
introduceAll(ScruTable other)
|
void |
introduceAll(ScruTable table,
Dsp dsp)
|
void |
introduceAll(ScruTable table,
Dsp dsp,
XnRegion region)
'MuTable::introduceAll is to 'MuTable::introduce' as 'MuTable::storeAll' is to 'MuTable::store'. |
boolean |
intWipe(IntegerVar anIdx)
Unboxed version. |
boolean |
isEmpty()
Is there anything in the table? 'table->isEmpty()' iff 'table->domain()->isEmpty()'. |
boolean |
isEqual(java.lang.Object other)
|
static Heaper |
make(CoordinateSpace cs)
A new empty MuTable whose domain space is 'cs'. |
static Heaper |
make(CoordinateSpace cs,
XnRegion reg)
Semantically identical to 'muTable(cs)'. |
static void |
problems()
A ProblemList for all X++ BLASTs |
void |
remove(Position anIdx)
Remove a key->value association from the table. Blast if the key is not present. |
void |
removeAll(XnRegion region)
|
void |
replaceAll(ScruTable other)
|
void |
replaceAll(ScruTable other,
Dsp dsp)
|
void |
replaceAll(ScruTable table,
Dsp dsp,
XnRegion region)
'MuTable::replaceAll is to 'MuTable::replace' as 'MuTable::storeAll' is to 'MuTable::store'. |
XnRegion |
runAt(Position key)
Return the length of the run starting at position key. |
XnRegion |
runAtInt(IntegerVar index)
Unboxed version. |
void |
sendSelfTo(Xmtr xmtr)
do nothing |
TableStepper |
stepper(OrderSpec order)
Return a TableStepper which will enumerate my key->value mappings. |
void |
storeAll(ScruTable other)
|
void |
storeAll(ScruTable table,
Dsp dsp)
|
void |
storeAll(ScruTable table,
Dsp dsp,
XnRegion region)
I 'store' into myself (see MuTable::store) all the associations from 'table'. If 'region' is provided, then I only store those associations from 'table' whose key is inside 'region'. |
ScruTable |
subTable(XnRegion reg)
Return a table which contains only the intersection of this table's domain and the domain specified by 'region'. table->subTable(r)->domain()->isEqual( table->domain()->intersect(r) ). It is unspecified whether the resulting table starts as a snapshot of a subset of me, after which we go our own ways; or whether the resulting table is a view onto a subset of me, such that changes to me are also visible to him. |
static void |
test()
Table test |
boolean |
wipe(Position anIdx)
Remove a key->value association from the table. Do not blast (or do anything else) if the key is not in my current domain. Return TRUE if the association was present and removed, Return FALSE if the association was not there |
void |
wipeAll(XnRegion region)
I 'wipe' from myself all associations whose key is in 'region'. |
| Methods inherited from class org.abora.gold.collection.tables.ScruTable |
asOrderedCollection, backfollowFrom, contentsEqual, contentsHash, dox, get, intGet, isEqual, printOn, printOnWithSimpleSyntax, printOnWithSyntax, range, stepper, theOne, transformedBy |
| Methods inherited from class org.abora.gold.java.AboraHeaper |
asOop, basicInspect, displayString, error, hack, halt, inspect, 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 static Signal AlreadyInTableSignal
protected static Signal NotInDomainSignal
protected static Signal NullInsertionSignal
| Constructor Detail |
public MuTable()
public MuTable(Rcvr receiver)
| Method Detail |
public void atIntroduce(Position key,
Heaper value)
public void atReplace(Position key,
Heaper value)
public Heaper atStore(Position key,
Heaper value)
public CoordinateSpace coordinateSpace()
ScruTable
coordinateSpace in class ScruTablepublic IntegerVar count()
ScruTable
count in class ScruTablepublic XnRegion domain()
ScruTable
domain in class ScruTablepublic Heaper fetch(Position key)
ScruTable
fetch in class ScruTablepublic void remove(Position anIdx)
public ScruTable subTable(XnRegion reg)
ScruTable
subTable in class ScruTablepublic boolean wipe(Position anIdx)
public void introduceAll(ScruTable table,
Dsp dsp,
XnRegion region)
public void replaceAll(ScruTable table,
Dsp dsp,
XnRegion region)
public void storeAll(ScruTable table,
Dsp dsp,
XnRegion region)
public void wipeAll(XnRegion region)
public boolean includesKey(Position aKey)
ScruTable
includesKey in class ScruTablepublic boolean isEmpty()
ScruTable
isEmpty in class ScruTablepublic TableStepper stepper(OrderSpec order)
ScruTable
stepper in class ScruTablepublic ImmuTable asImmuTable()
ScruTable
asImmuTable in class ScruTablepublic MuTable asMuTable()
asMuTable in class ScruTablepublic XnRegion runAt(Position key)
ScruTable
runAt in class ScruTablepublic ScruTable copy()
ScruTable
copy in class ScruTablepublic ScruTable emptySize(IntegerVar size)
ScruTable
emptySize in class ScruTable
public void atIntIntroduce(IntegerVar key,
Heaper value)
public void atIntReplace(IntegerVar key,
Heaper value)
public Heaper atIntStore(IntegerVar aKey,
Heaper anObject)
public boolean includesIntKey(IntegerVar aKey)
ScruTable
includesIntKey in class ScruTablepublic Heaper intFetch(IntegerVar key)
ScruTable
intFetch in class ScruTablepublic void intRemove(IntegerVar anIdx)
public boolean intWipe(IntegerVar anIdx)
public XnRegion runAtInt(IntegerVar index)
ScruTable
runAtInt in class ScruTablepublic void introduceAll(ScruTable other)
public void introduceAll(ScruTable table,
Dsp dsp)
public void removeAll(XnRegion region)
public void replaceAll(ScruTable other)
public void replaceAll(ScruTable other,
Dsp dsp)
public void storeAll(ScruTable other)
public void storeAll(ScruTable table,
Dsp dsp)
public int actualHashForEqual()
ScruTable
actualHashForEqual in class ScruTablepublic boolean isEqual(java.lang.Object other)
public void sendSelfTo(Xmtr xmtr)
Heaper
sendSelfTo in class Heaperpublic static void problems()
Heaper
public static void test()
public static Heaper make(CoordinateSpace cs)
public static Heaper make(CoordinateSpace cs,
XnRegion reg)
public static void initTimeNonInherited()
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||