org.abora.gold.collection.sets
Class MuSet

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
Direct Known Subclasses:
GrandHashSet, HashSet

public class MuSet
extends ScruSet

MuSets are a changable collection of elements. Added to the ScruSet protocol are messages
for performing these changes. The "introduce/store/wipe/remove" suite is defined by
analogy with similar methods in MuTable. See both ScruSet and MuTable.


Field Summary
 
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
MuSet()
           
 
Method Summary
 int actualHashForEqual()
           
 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.
 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.
static MuSet fromStepper(Stepper stepper)
           
 boolean hasMember(Heaper someone)
          Is someone a member of the set now?
 Stepper immuStepper()
           
static void initTimeNonInherited()
           
 void introduce(Heaper anElement)
          Add anElement to my members, but only if it isn't already a member.
If it is already a member, BLAST
 boolean isEmpty()
          Whether it currently has any elements
 boolean isEqual(java.lang.Object other)
           
static Heaper make()
           
static Heaper make(Heaper item)
           
static Heaper make(IntegerVar someSize)
          someSize is a non-semantic hint about how big the set might get.
static Heaper make(java.lang.Object something)
           
static Heaper make(XnRegion region)
          someSize is a non-semantic hint about how big the set might get.
static void problems()
          A ProblemList for all X++ BLASTs
 void remove(Heaper anElement)
          Remove anElement from my members.
 void restrictTo(ScruSet other)
          Sort of intersect.
 Stepper stepper()
          Returns a stepper which will enumerate all the elements of the set in some unspecified
order
 void store(Heaper anElement)
          Add anElement to my set of members.
 void storeAll(ScruSet other)
          Sort of union.
 void wipe(Heaper anElement)
          make anElement no longer be one of my members.
 void wipeAll(ScruSet other)
          Sort of minus.
 
Methods inherited from class org.abora.gold.collection.sets.ScruSet
asArray, asOrderedCollection, contentsEqual, contentsHash, dox, inspect, intersects, isEqual, isSubsetOf, printOn, printOnWithSimpleSyntax, 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, destruct, 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, inspectPieces, 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, sendSelfTo, 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
 

Constructor Detail

MuSet

public MuSet()
Method Detail

hasMember

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

Overrides:
hasMember in class ScruSet

isEmpty

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

Overrides:
isEmpty in class ScruSet

restrictTo

public void restrictTo(ScruSet other)
Sort of intersect. Wipe from myself all elements that I don't have in common with other.
Turn myself into the intersection of my current self and other.


storeAll

public void storeAll(ScruSet other)
Sort of union. Store into myself all elements from other.
Turn myself into the union of my current self and other.


wipeAll

public void wipeAll(ScruSet other)
Sort of minus. Wipe from myself all elements from other.
Turn myself into my current self minus other.


introduce

public void introduce(Heaper anElement)
Add anElement to my members, but only if it isn't already a member.
If it is already a member, BLAST


remove

public void remove(Heaper anElement)
Remove anElement from my members. If it isn't currently a member, then BLAST


store

public void store(Heaper anElement)
Add anElement to my set of members. No semantic effect if anElement is already a member.


wipe

public void wipe(Heaper anElement)
make anElement no longer be one of my members. No semantic effect if it already isn't a
member.


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 ScruSet

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 ScruSet

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 ScruSet

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 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 ScruSet

immuStepper

public Stepper immuStepper()

actualHashForEqual

public int actualHashForEqual()
Overrides:
actualHashForEqual in class ScruSet

isEqual

public boolean isEqual(java.lang.Object other)

make

public static Heaper make(XnRegion region)
someSize is a non-semantic hint about how big the set might get.


fromStepper

public static MuSet fromStepper(Stepper stepper)

make

public static Heaper make()

make

public static Heaper make(Heaper item)

make

public static Heaper make(IntegerVar someSize)
someSize is a non-semantic hint about how big the set might get.


make

public static Heaper make(java.lang.Object something)

initTimeNonInherited

public static void initTimeNonInherited()

problems

public static void problems()
Description copied from class: Heaper
A ProblemList for all X++ BLASTs



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