org.abora.gold.collection.grand
Class GrandHashSet

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.collection.sets.ScruSet
                    |
                    +--org.abora.gold.collection.sets.MuSet
                          |
                          +--org.abora.gold.collection.grand.GrandHashSet

public class GrandHashSet
extends MuSet


Field Summary
protected  int cacheHash
           
protected  Heaper cacheValue
           
protected  PtrArray grandNodes
           
protected  Counter myDoublingFrontIndex
           
protected  Counter myDoublingPasses
           
protected  IntegerVar myOutstandingSteppers
           
protected  Counter myTally
           
protected  int nodeIndexShift
           
protected  int numNodes
           
 
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
GrandHashSet(int nNodes)
           
GrandHashSet(Rcvr receiver)
           
 
Method Summary
 ImmuSet asImmuSet()
          Return an immu snapshot of my current state.
 MuSet asMuSet()
          Return a Mu whose initial state is the same as my current state, but which
will now deviate independently of me.
 void checkSteppers()
           
 void considerNeedForDoubling()
          Compute location of doubling front from tally.
 ScruSet copy()
          A new one whose initial state is my current state, but that doesn't track
changes.
 IntegerVar count()
          How many elements are currently in the set.
 void destruct()
          Classes should implement this message rather than a destructor.
 void fewerSteppers()
           
 boolean hasMember(Heaper aHeaper)
          Is someone a member of the set now?
 Stepper immuStepper()
           
static void initTimeNonInherited()
          GrandHashTable initTimeNonInherited
static void inspectPieces()
           
 void introduce(Heaper aHeaper)
          Add anElement to my members, but only if it isn't already a member.
If it is already a member, BLAST
 void invalidateCache()
           
 boolean isEmpty()
          Whether it currently has any elements
static Heaper make()
           
static Heaper make(int nNodes)
           
 void moreSteppers()
           
 GrandNode nodeAt(IntegerVar idx)
           
 IntegerVar nodeCount()
           
 void printOn(java.io.PrintWriter aStream)
           
 void printOnWithSimpleSyntax(java.io.PrintWriter oo, java.lang.String open, java.lang.String sep, java.lang.String close)
           
 void remove(Heaper aHeaper)
          Remove anElement from my members.
 void restartGrandHashSet(Rcvr trans)
          re-initialize the non-persistent part
 void sendSelfTo(Xmtr xmtr)
          do nothing
 Stepper stepper()
          Returns a stepper which will enumerate all the elements of the set in some unspecified
order
 void store(Heaper aHeaper)
          Add anElement to my set of members.
 void wipe(Heaper aHeaper)
          make anElement no longer be one of my members.
 
Methods inherited from class org.abora.gold.collection.sets.MuSet
actualHashForEqual, fromStepper, isEqual, make, make, make, make, problems, restrictTo, storeAll, wipeAll
 
Methods inherited from class org.abora.gold.collection.sets.ScruSet
asArray, asOrderedCollection, contentsEqual, contentsHash, dox, inspect, intersects, isEqual, isSubsetOf, printOnWithSyntax, theOne
 
Methods inherited from class org.abora.gold.xpp.basic.Heaper
abstractDeclarationFor, abstractTypeFor, addMethodAttributeToInOf, addPackage, addPackageCategory, allClientProtocolOn, argumentTypesFor, arrow, blast, blast, BLAST, cachePromiseNameTable, cachePromiseNameTableIn, canYouBecome, cast, cleanPromiseClasses, cleanupGarbage, clientClassesDo, clientFunctionsOn, clientMethodsOn, clientProtocol, clientProtocolDo, clientProtocolOn, clientProtocolOn, collectibleClasses, compare, compileClientSubclasses, compileConstantPromiseMethods, compileCreateFromRcvr, compileEQ, compileGeneratedClassMethod, compileGeneratedMethod, compileHook, compilePromise, compilePromiseDefaultMethods, compilePromiseFluidDeclarations, compilePromiseHandlers, compilePromiseMethods, compileRequestCreateMsgInArguments, compileRequestEvaluateMsgInReturningArguments, compileRPCSpecialistEvaluateMsgForReturningArguments, compileSendSelfTo, compileSendSelfToSendHook, compileStubbleMethods, compileSubclassStubbleMethods, computeMangle, computePreorder, constantTypeValue, convert, convertCopyDeclarations, convertDeferredDeclarations, convertProxyDeclarations, convertSubclassCopyDeclarations, convertSubclassDeferredDeclarations, convertSubclassProxyDeclarations, copyReferencesToType, create, create, create, create, create, create, create, create, create, create, createRequestClassArguments, definesProxyMethods, delete, deref, destroy, destructor, enum, enumFlags, equals, exportName, fetchAttribute, fetchPackage, fetchSuperCategory, fileOutClientProtocol, findCategory, findSenderAndReceiverMethods, findTailInto, flushPromiseNameTable, foo, freezeClientClasses, freezeClientProtocol, freezeStProtocol, frozenClasses, garbageCollect, garbageCollectFrom, gcOpportunity, gcOpportunity, generatedCategory, generatePromiseNames, getCategory, getOrMakePackage, getSuperCategory, handlerSignaturesFrom, hash, hashForEqual, hasProxyMethods, info_clientClasses, info_clientSideClasses, info_promiseClasses, info_stProtocol, inGC, initializedClasses, initializingClasses, initPackages, initStringHashSBoxes, instanceSize, IntegerVar, isByProxy, isConstructed, isDestructed, isEqualOrSubclassOf, isGenerated, isIntType, isKindOf, isRawType, isUnlocked, linkTimeNonInherited, makeClassTable, makeFillTable, makeRequestTable, mangle, markChildren, markCount, markInstances, mayBecome, mayBecomeAnySubclassOf, new1, newX, nonCopyVariables, notWorking, pack, packageClasses, packagingCategory, parseExportName, passe, pointerToStaticMember, pointerToStaticMember, pointerToVirtualMember, preorderMax, preorderNumber, PROBLEM, promiseClass, promiseDefaultValue, promiseName, promiseNameTable, promiseToAbstract, registerPackageCategory, removeGeneratedCode, removeStubbleMethods, removeSubclassGeneratedCode, removeSubclassStubbleMethods, requestProcedure, requestProceduresFrom, returnTypeFor, rootName, scheduleTermination, sendProxyTo, serverNameFor, setGC, signal, signals, smalltalkSelector, stClientProtocol, stubbleSelectorTokenReturnsArguments, subclassNonCopyVariables, takeOop, togglePromiseName, togglePromiseOfParse, unimplemented, unmangle, verifyFreeze, wipeStubble
 
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

grandNodes

protected PtrArray grandNodes

numNodes

protected int numNodes

nodeIndexShift

protected int nodeIndexShift

myTally

protected Counter myTally

myDoublingFrontIndex

protected Counter myDoublingFrontIndex

myDoublingPasses

protected Counter myDoublingPasses

cacheHash

protected int cacheHash

cacheValue

protected Heaper cacheValue

myOutstandingSteppers

protected IntegerVar myOutstandingSteppers
Constructor Detail

GrandHashSet

public GrandHashSet(int nNodes)

GrandHashSet

public GrandHashSet(Rcvr receiver)
Method Detail

introduce

public void introduce(Heaper aHeaper)
Description copied from class: MuSet
Add anElement to my members, but only if it isn't already a member.
If it is already a member, BLAST

Overrides:
introduce in class MuSet

remove

public void remove(Heaper aHeaper)
Description copied from class: MuSet
Remove anElement from my members. If it isn't currently a member, then BLAST

Overrides:
remove in class MuSet

store

public void store(Heaper aHeaper)
Description copied from class: MuSet
Add anElement to my set of members. No semantic effect if anElement is already a member.

Overrides:
store in class MuSet

wipe

public void wipe(Heaper aHeaper)
Description copied from class: MuSet
make anElement no longer be one of my members. No semantic effect if it already isn't a
member.

Overrides:
wipe in class MuSet

count

public IntegerVar count()
Description copied from class: ScruSet
How many elements are currently in the set. Being a set, if the same element is put into
the set twice,
it is only in the set once. 'Same' above is according to 'isEqual'.

Overrides:
count in class MuSet

hasMember

public boolean hasMember(Heaper aHeaper)
Description copied from class: ScruSet
Is someone a member of the set now?

Overrides:
hasMember in class MuSet

isEmpty

public boolean isEmpty()
Description copied from class: ScruSet
Whether it currently has any elements

Overrides:
isEmpty in class MuSet

asImmuSet

public ImmuSet asImmuSet()
Description copied from class: ScruSet
Return an immu snapshot of my current state. Should probably be done with a
Converter rather than with a message (for the reasons listed in the Converter
class comment). In terms of the Stamp/Bert analogy mentioned in the class
comment, asImmuSet is like asking for the current Stamp.

Overrides:
asImmuSet in class MuSet

asMuSet

public MuSet asMuSet()
Description copied from class: ScruSet
Return a Mu whose initial state is the same as my current state, but which
will now deviate independently of me. In terms of the Stamp/Bert analogy
mentioned in the class comment, asMuSet is like asking for a new Bert starting
on the current Stamp.

Overrides:
asMuSet in class MuSet

copy

public ScruSet copy()
Description copied from class: ScruSet
A new one whose initial state is my current state, but that doesn't track
changes. Note that there is no implication that these can be 'destroy'ed
separately, because (for example) an ImmuSet just returns itself

Overrides:
copy in class MuSet

printOn

public void printOn(java.io.PrintWriter aStream)
Overrides:
printOn in class ScruSet

printOnWithSimpleSyntax

public void printOnWithSimpleSyntax(java.io.PrintWriter oo,
                                    java.lang.String open,
                                    java.lang.String sep,
                                    java.lang.String close)
Overrides:
printOnWithSimpleSyntax in class ScruSet

stepper

public Stepper stepper()
Description copied from class: ScruSet
Returns a stepper which will enumerate all the elements of the set in some unspecified
order

Overrides:
stepper in class MuSet

destruct

public void destruct()
Description copied from class: Heaper
Classes should implement this message rather than a destructor. We use this so
the destruction behavior implemented in abstract superclasses can access the
vtable of the concrete run-time type in C++. Using a message makes C++
parallel the Smalltalk semantics for delete. Destroy will actually call the destructor.

Overrides:
destruct in class Heaper

considerNeedForDoubling

public void considerNeedForDoubling()
Compute location of doubling front from tally. If front crosses a node boundary


invalidateCache

public void invalidateCache()

restartGrandHashSet

public void restartGrandHashSet(Rcvr trans)
re-initialize the non-persistent part


nodeAt

public GrandNode nodeAt(IntegerVar idx)

nodeCount

public IntegerVar nodeCount()

inspectPieces

public static void inspectPieces()

checkSteppers

public void checkSteppers()

fewerSteppers

public void fewerSteppers()

immuStepper

public Stepper immuStepper()
Overrides:
immuStepper in class MuSet

moreSteppers

public void moreSteppers()

sendSelfTo

public void sendSelfTo(Xmtr xmtr)
Description copied from class: Heaper
do nothing

Overrides:
sendSelfTo in class Heaper

make

public static Heaper make()

make

public static Heaper make(int nNodes)

initTimeNonInherited

public static void initTimeNonInherited()
GrandHashTable initTimeNonInherited



Translation - Copyright © 2003 David G Jones. All Rights Reserved.
Original Udanax-Gold - Copyright © 1979-1999 Udanax.com. All rights reserved.