org.abora.gold.nkernel
Class FeActualPlaceHolder

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.nkernel.FeRangeElement
                    |
                    +--org.abora.gold.nkernel.FePlaceHolder
                          |
                          +--org.abora.gold.nkernel.FeActualPlaceHolder

public class FeActualPlaceHolder
extends FePlaceHolder

Actually has a persistent individual PlaceHolder on the Server, or used to, and now has a
pointer to the rangeElement it became.


Field Summary
protected  BeRangeElement myRangeElement
           
 
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
FeActualPlaceHolder(BeRangeElement be)
           
 
Method Summary
 FeRangeElement again()
          Essential.
 boolean canMakeIdentical(FeRangeElement newIdentity)
          Essential.
 void destruct()
          Classes should implement this message rather than a destructor.
 BeRangeElement fetchBe()
          If this has a reified Be object, then return it, else NULL
 void forwardTo(BeRangeElement element)
          myRangeElement has become something else.
 BeRangeElement getOrMakeBe()
          An individual BeRangeElement for this identity.
 void makeIdentical(FeRangeElement newIdentity)
          Consolidate this PlaceHolder to the newIdentity.
 ID owner()
          MyBeRangeElement will know it.
 void removeFillDetector(FeFillDetector detector)
          Essential.
 
Methods inherited from class org.abora.gold.nkernel.FePlaceHolder
addFillDetector, fake, grand, on
 
Methods inherited from class org.abora.gold.nkernel.FeRangeElement
actualHashForEqual, becomeOther, carrier, fillDetector, info, inspect, isEqual, isIdentical, isSameAs, label, placeHolder, relabelled, setOwner, transcluders, transcluders, transcluders, transcluders, transcluders, validateEndorsement, validateSignature, works, works, works, works
 
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, inspectPieces, instanceSize, IntegerVar, isByProxy, isConstructed, isDestructed, isEqual, isEqualOrSubclassOf, isGenerated, isIntType, isKindOf, isRawType, isUnlocked, linkTimeNonInherited, make, makeClassTable, makeFillTable, makeRequestTable, mangle, markChildren, markCount, markInstances, mayBecome, mayBecomeAnySubclassOf, new1, newX, nonCopyVariables, notWorking, pack, packageClasses, packagingCategory, parseExportName, passe, pointerToStaticMember, pointerToStaticMember, pointerToVirtualMember, preorderMax, preorderNumber, printOn, PROBLEM, problems, 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
 

Field Detail

myRangeElement

protected BeRangeElement myRangeElement
Constructor Detail

FeActualPlaceHolder

public FeActualPlaceHolder(BeRangeElement be)
Method Detail

again

public FeRangeElement again()
Description copied from class: FeRangeElement
Essential. An object reflecting the current identity of this object, in case it is a
PlaceHolder that has become something else since it was received from the Server.

Overrides:
again in class FePlaceHolder

canMakeIdentical

public boolean canMakeIdentical(FeRangeElement newIdentity)
Description copied from class: FeRangeElement
Essential. Whether the identity of this object could be changed to the other.
Does not check whether the CurrentKeyMaster has authority to do it.
The restrictions on this operation depend on which subclass this is, but in general
(except for PlaceHolders) an object can only become another of the same type with the same
content.

Overrides:
canMakeIdentical in class FePlaceHolder

makeIdentical

public void makeIdentical(FeRangeElement newIdentity)
Consolidate this PlaceHolder to the newIdentity. Return true if successful.

Overrides:
makeIdentical in class FePlaceHolder

owner

public ID owner()
MyBeRangeElement will know it.

Overrides:
owner in class FeRangeElement

removeFillDetector

public void removeFillDetector(FeFillDetector detector)
Description copied from class: FeRangeElement
Essential. Remove a Detector which had been added to this RangeElement. You should remove
every Detector you add, although they will go away automatically when a client session
terminates.

Overrides:
removeFillDetector in class FeRangeElement

fetchBe

public BeRangeElement fetchBe()
Description copied from class: FeRangeElement
If this has a reified Be object, then return it, else NULL

Overrides:
fetchBe in class FePlaceHolder

forwardTo

public void forwardTo(BeRangeElement element)
myRangeElement has become something else. Forward to the new thing.


getOrMakeBe

public BeRangeElement getOrMakeBe()
Description copied from class: FeRangeElement
An individual BeRangeElement for this identity. If the object is virtualized, then
de-virtualizes it.

Overrides:
getOrMakeBe in class FePlaceHolder

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


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