org.abora.gold.be.ents
Class RegionLoaf

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.snarf.Abraham
                    |
                    +--org.abora.gold.be.ents.OPart
                          |
                          +--org.abora.gold.be.ents.Loaf
                                |
                                +--org.abora.gold.be.ents.OExpandingLoaf
                                      |
                                      +--org.abora.gold.be.ents.RegionLoaf

public class RegionLoaf
extends OExpandingLoaf


Field Summary
protected  BeLabel myLabel
           
protected  BeRangeElement myRangeElement
           
 
Fields inherited from class org.abora.gold.be.ents.OExpandingLoaf
myRegion
 
Fields inherited from class org.abora.gold.be.ents.Loaf
myHCrum
 
Fields inherited from class org.abora.gold.be.ents.OPart
mySensorCrum
 
Fields inherited from class org.abora.gold.snarf.Abraham
DismantleStatistics, myHash, myInfo, myToken, TheTokenSource
 
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
RegionLoaf(Rcvr receiver)
           
RegionLoaf(XnRegion region, BeLabel label, BeRangeElement element, HUpperCrum hcrum)
           
RegionLoaf(XnRegion region, BeRangeElement element, HUpperCrum hcrum, int hash, FlockInfo info)
           
 
Method Summary
 byte actualSoftSplay(XnRegion region, XnRegion limitRegion)
          Don't expand me in place.
 byte actualSplay(XnRegion region, XnRegion limitRegion)
          Expand my partial tree in place.
 void addOParent(OPart oparent)
          add oparent to the set of upward pointers and update the bertCrums my child.
 XnRegion attachTrailBlazer(TrailBlazer blazer)
          Attach the TrailBlazer to this Edition, and return the region of partiality it is attached
to
 Stepper bundleStepper(XnRegion region, OrderSpec order, Dsp globalDsp)
          Return a stepper of bundles according to the order.
 void checkChildRecorders(PropFinder finder)
          send checkRecorders to all children
 void checkTrailBlazer(TrailBlazer blazer)
          Make sure that everyone below here that might have a TrailBlazer, has the given one
 Mapping compare(TracePosition trace, XnRegion region)
          return a mapping from my data to corresponding stuff in the given trace
 int contentsHash()
          A hash of the contents of this flock
 void delayedStoreMatching(PropFinder finder, RecorderFossil fossil, ResultRecorder recorder, HashSetCache hCrumCache)
          RegionLoaf is the one kind of o-leaf which actually shares range-element identity with
other o-leafs.
 void dismantle()
          Disconnect me from the universe and throw me off the disk.
For GC safety, we keep a strongptr to ourself -- is this still necessary?
 FeRangeElement fetch(Position key, BeEdition edition, Position globalKey)
          Make a virtual DataHolder.
 TrailBlazer fetchTrailBlazer()
          If there is a TrailBlazer somewhere below this Edition, return one of them
 void fill(XnRegion keys, Arrangement toArrange, PrimArray toArray, Dsp dsp, BeEdition edition)
          Make an FeRangeElement for each position.
 void forwardTo(BeRangeElement rangeElement)
           
 BeRangeElement getBe(Position key)
          If I'm here it must be non-virtual.
 void informTo(OrglRoot orgl)
           
 XnRegion keysLabelled(BeLabel label)
          The keys in this Edition at which there are Editions with the given label.
 Mapping mappingTo(TracePosition trace, Mapping initial)
          return the mapping into the domain space of the given trace
 ID owner()
          Return the owner of the atoms represented by the receiver.
 void printOn(java.io.PrintWriter aStream)
           
 void sendSelfTo(Xmtr xmtr)
          do nothing
 OrglRoot setAllOwners(ID owner)
          If the CurrentKeyMaster includes the owner of this loaf
then change the owner and return NULL
else just return self.
 XnRegion sharedRegion(TracePosition trace, XnRegion limitRegion)
          Return a region describing the stuff that can backfollow to trace.
 PrimSpec spec()
          Return the PrimSpec that describes the representation of the data.
 void storeRecordingAgents(RecorderFossil recorder, Agenda agenda)
          Go ahead and actually store the recorder in the sensor canopy.
 boolean testHChild(HistoryCrum child)
          Return true if child is a child.
 void triggerDetector(FeFillRangeDetector detect)
          A Detector has been added to my parent.
 boolean updateBCrumTo(BertCrum newBCrum)
          My bertCrum must not be leafward of newBCrum.
Thus it must be LE to newCrum.
 XnRegion usedDomain()
           
 void wait(XnSensor sensor)
           
 
Methods inherited from class org.abora.gold.be.ents.OExpandingLoaf
combine, count, crums, displayString, domain, fetchBottomAt, inspect, isPartial, rangeOwners, splay
 
Methods inherited from class org.abora.gold.be.ents.Loaf
asFeEdition, checkChildRecorders, checkRecorders, checkRecorders, delayedStoreMatching, hCrum, inform, make, make, make, removeOParent, storeMatching, transformedBy, unTransformedBy
 
Methods inherited from class org.abora.gold.be.ents.OPart
hinspect, inspectCanopy, inspectMenuArray, inspectRecorderCanopy, sensorCrum, showOn
 
Methods inherited from class org.abora.gold.snarf.Abraham
actualHashForEqual, becomeStub, cleanupGarbage, destroy, destruct, diskUpdate, dismantleStatistics, fetchInfo, fetchShepherd, flockInfo, forget, getInfo, getShepherdStubCategory, initTimeNonInherited, isConstructed, isDestructed, isEqual, isKindOf, isPurgeable, isShepherd, isStub, isUnlocked, linkTimeNonInherited, newShepherd, remember, restartAbraham, restartAbraham, returnToken, staticTimeNonInherited, token
 
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, 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, 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, make, makeClassTable, makeFillTable, makeRequestTable, mangle, markChildren, markCount, markInstances, mayBecome, mayBecomeAnySubclassOf, new1, newX, nonCopyVariables, notWorking, pack, packageClasses, packagingCategory, parseExportName, passe, pointerToStaticMember, pointerToStaticMember, pointerToVirtualMember, preorderMax, preorderNumber, PROBLEM, problems, 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, 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

myRangeElement

protected BeRangeElement myRangeElement

myLabel

protected BeLabel myLabel
Constructor Detail

RegionLoaf

public RegionLoaf(XnRegion region,
                  BeLabel label,
                  BeRangeElement element,
                  HUpperCrum hcrum)

RegionLoaf

public RegionLoaf(XnRegion region,
                  BeRangeElement element,
                  HUpperCrum hcrum,
                  int hash,
                  FlockInfo info)

RegionLoaf

public RegionLoaf(Rcvr receiver)
Method Detail

compare

public Mapping compare(TracePosition trace,
                       XnRegion region)
return a mapping from my data to corresponding stuff in the given trace

Overrides:
compare in class OExpandingLoaf

fetch

public FeRangeElement fetch(Position key,
                            BeEdition edition,
                            Position globalKey)
Make a virtual DataHolder.

Overrides:
fetch in class OExpandingLoaf

fill

public void fill(XnRegion keys,
                 Arrangement toArrange,
                 PrimArray toArray,
                 Dsp dsp,
                 BeEdition edition)
Make an FeRangeElement for each position.

Overrides:
fill in class OExpandingLoaf

forwardTo

public void forwardTo(BeRangeElement rangeElement)

getBe

public BeRangeElement getBe(Position key)
If I'm here it must be non-virtual.

Overrides:
getBe in class OExpandingLoaf

keysLabelled

public XnRegion keysLabelled(BeLabel label)
The keys in this Edition at which there are Editions with the given label.

Overrides:
keysLabelled in class OExpandingLoaf

mappingTo

public Mapping mappingTo(TracePosition trace,
                         Mapping initial)
return the mapping into the domain space of the given trace

Overrides:
mappingTo in class OPart

owner

public ID owner()
Return the owner of the atoms represented by the receiver.

Overrides:
owner in class OExpandingLoaf

sharedRegion

public XnRegion sharedRegion(TracePosition trace,
                             XnRegion limitRegion)
Return a region describing the stuff that can backfollow to trace. Redefine this to pass
down to my hRoot.

Overrides:
sharedRegion in class OExpandingLoaf

spec

public PrimSpec spec()
Return the PrimSpec that describes the representation of the data.

Overrides:
spec in class OExpandingLoaf

usedDomain

public XnRegion usedDomain()
Overrides:
usedDomain in class OExpandingLoaf

bundleStepper

public Stepper bundleStepper(XnRegion region,
                             OrderSpec order,
                             Dsp globalDsp)
Return a stepper of bundles according to the order.

Overrides:
bundleStepper in class OExpandingLoaf

informTo

public void informTo(OrglRoot orgl)
Overrides:
informTo in class OExpandingLoaf

setAllOwners

public OrglRoot setAllOwners(ID owner)
If the CurrentKeyMaster includes the owner of this loaf
then change the owner and return NULL
else just return self.

Overrides:
setAllOwners in class OExpandingLoaf

printOn

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

actualSoftSplay

public byte actualSoftSplay(XnRegion region,
                            XnRegion limitRegion)
Don't expand me in place. Just move it closer to the top.


actualSplay

public byte actualSplay(XnRegion region,
                        XnRegion limitRegion)
Expand my partial tree in place. The area in the region must go
into the leftCrum of my substitute, or the splay algorithm will fail!!

Overrides:
actualSplay in class OExpandingLoaf

addOParent

public void addOParent(OPart oparent)
add oparent to the set of upward pointers and update the bertCrums my child.

Overrides:
addOParent in class Loaf

attachTrailBlazer

public XnRegion attachTrailBlazer(TrailBlazer blazer)
Description copied from class: OPart
Attach the TrailBlazer to this Edition, and return the region of partiality it is attached
to

Overrides:
attachTrailBlazer in class OExpandingLoaf

checkChildRecorders

public void checkChildRecorders(PropFinder finder)
Description copied from class: OExpandingLoaf
send checkRecorders to all children

Overrides:
checkChildRecorders in class OExpandingLoaf

checkTrailBlazer

public void checkTrailBlazer(TrailBlazer blazer)
Description copied from class: OPart
Make sure that everyone below here that might have a TrailBlazer, has the given one

Overrides:
checkTrailBlazer in class OExpandingLoaf

delayedStoreMatching

public void delayedStoreMatching(PropFinder finder,
                                 RecorderFossil fossil,
                                 ResultRecorder recorder,
                                 HashSetCache hCrumCache)
RegionLoaf is the one kind of o-leaf which actually shares range-element identity with
other o-leafs. The range element identity is in myRangeElement rather than myself, so I
override my super's version of this method to forward it south one more step to
myRangeElement.

Overrides:
delayedStoreMatching in class OExpandingLoaf

fetchTrailBlazer

public TrailBlazer fetchTrailBlazer()
Description copied from class: OPart
If there is a TrailBlazer somewhere below this Edition, return one of them

Overrides:
fetchTrailBlazer in class OExpandingLoaf

storeRecordingAgents

public void storeRecordingAgents(RecorderFossil recorder,
                                 Agenda agenda)
Description copied from class: Loaf
Go ahead and actually store the recorder in the sensor canopy. However, instead of
propogating the props immediately, accumulate all those agenda items into the 'agenda'
parameter. This is done instead of scheduling them directly because our client needs to
schedule something else following all the prop propogation.

Overrides:
storeRecordingAgents in class OExpandingLoaf

testHChild

public boolean testHChild(HistoryCrum child)
Return true if child is a child. Used for debugging.


triggerDetector

public void triggerDetector(FeFillRangeDetector detect)
Description copied from class: Loaf
A Detector has been added to my parent. Walk down and trigger it on all non-partial stuff

Overrides:
triggerDetector in class OExpandingLoaf

updateBCrumTo

public boolean updateBCrumTo(BertCrum newBCrum)
My bertCrum must not be leafward of newBCrum.
Thus it must be LE to newCrum. Otherwise correct it and recur.

Overrides:
updateBCrumTo in class Loaf

dismantle

public void dismantle()
Description copied from class: Abraham
Disconnect me from the universe and throw me off the disk.
For GC safety, we keep a strongptr to ourself -- is this still necessary?

Overrides:
dismantle in class Loaf

contentsHash

public int contentsHash()
Description copied from class: Abraham
A hash of the contents of this flock

Overrides:
contentsHash in class OExpandingLoaf

wait

public void wait(XnSensor sensor)
Overrides:
wait in class OExpandingLoaf

sendSelfTo

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

Overrides:
sendSelfTo in class OExpandingLoaf


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