org.abora.gold.nkernel
Class FeRangeElement
java.lang.Object
|
+--org.abora.gold.java.AboraHeaper
|
+--org.abora.gold.xpp.basic.Heaper
|
+--org.abora.gold.nkernel.FeRangeElement
- Direct Known Subclasses:
- FeDataHolder, FeEdition, FeIDHolder, FeLabel, FePlaceHolder, FeWork
- public class FeRangeElement
- extends Heaper
The kinds of objects which can be in the range of Editions.
| 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 |
|
Method Summary |
int |
actualHashForEqual()
|
void |
addFillDetector(FeFillDetector detector)
Essential. |
FeRangeElement |
again()
Essential. |
boolean |
becomeOther(FeRangeElement newIdentity)
|
boolean |
canMakeIdentical(FeRangeElement newIdentity)
Essential. |
BeCarrier |
carrier()
Return an object that wraps up any run-time state that might be needed inside the Be
system. |
BeRangeElement |
fetchBe()
If this has a reified Be object, then return it, else NULL
|
FeFillDetector |
fillDetector()
Essential. |
BeRangeElement |
getOrMakeBe()
An individual BeRangeElement for this identity. |
static void |
info()
{void CLIENT} addFillDetector: detector {PrFillDetector}
{FeRangeElement CLIENT} again
{BooleanVar CLIENT} canMakeIdentical: newIdentity {FeRangeElement}
{BooleanVar CLIENT} isIdentical: other {FeRangeElement}
{FeLabel CLIENT} label
{void CLIENT} makeIdentical: newIdentity {FeRangeElement}
{ID CLIENT} owner
{FeRangeElement CLIENT} relabelled: label {FeLabel}
{void CLIENT} removeFillDetector: detector {PrFillDetector}
{void CLIENT} setOwner: clubID {ID}
{FeEdition CLIENT} transcluders
{FeEdition CLIENT} transcluders: directFilter {Filter default: NULL}
{FeEdition CLIENT} transcluders: directFilter {Filter default: NULL} with: indirectFilter
{Filter default: NULL}
{FeEdition CLIENT} transcluders: directFilter {Filter default: NULL} with: indirectFilter
{Filter default: NULL} with: flags {Int32 default: Int32Zero}
{FeEdition CLIENT} transcluders: directFilter {Filter default: NULL} with: indirectFilter
{Filter default: NULL} with: flags {Int32 default: Int32Zero} with: otherTrail {FeEdition
default: NULL}
{FeEdition CLIENT} works: filter {Filter default: NULL} with: flags {Int32 default:
Int32Zero} with: otherTrail {FeEdition default: NULL}
|
void |
inspect()
Sensor leftShiftDown
|
boolean |
isEqual(java.lang.Object other)
|
boolean |
isIdentical(FeRangeElement other)
Essential. |
boolean |
isSameAs(FeRangeElement other)
|
FeLabel |
label()
Essential. |
void |
makeIdentical(FeRangeElement newIdentity)
Essential. |
ID |
owner()
Essential. |
static FeRangeElement |
placeHolder()
Make a single PlaceHolder.
|
FeRangeElement |
relabelled(FeLabel label)
Essential. |
void |
removeFillDetector(FeFillDetector detector)
Essential. |
void |
setOwner(ID clubID)
Essential. |
FeEdition |
transcluders()
|
FeEdition |
transcluders(Filter directFilter)
|
FeEdition |
transcluders(Filter directFilter,
Filter indirectFilter)
|
FeEdition |
transcluders(Filter directFilter,
Filter indirectFilter,
int flags)
|
FeEdition |
transcluders(Filter directFilter,
Filter indirectFilter,
int flags,
FeEdition otherTranscluders)
All Editions which the CurrentKeyMaster can see, which transclude this RangeElement.
If a directFilter is given, then the visibleEndorsements on a Edition must match the
filter.
If an indirectFilter is given, then a resulting Edition must be contained in some readable
Edition whose visibleEndorsements match the filter.
If the directContainersOnly flag is set, then a resulting Edition must contain this
directly as a RangeElement; otherwise, indirect containment through Editions is allowed.
If the localPresentOnly flag is set, then only Editions currently known to this Server are
guaranteed to end up in the result; otherwise, Editions which come to satisfy the
conditions in the future, and those on other Servers, may also be found.
Equivalent to
FeServer::current ()->newEditionWith (, this)
->rangeTranscluders (NULL, directFilter, indirectFilter, flags, otherTranscluders).
|
static void |
validateEndorsement(CrossRegion endorsements,
FeKeyMaster km)
Check whether the endorsements are valid and authorized.
Blast appropriately if not.
|
static void |
validateSignature(IDRegion clubs,
FeKeyMaster km)
Check whether the signatures are valid and authorized.
Blast appropriately if not.
|
FeEdition |
works()
|
FeEdition |
works(Filter filter)
|
FeEdition |
works(Filter filter,
int flags)
|
FeEdition |
works(Filter filter,
int flags,
FeEdition otherTranscluders)
Essential. |
| 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, 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 |
FeRangeElement
public FeRangeElement()
works
public FeEdition works()
works
public FeEdition works(Filter filter)
works
public FeEdition works(Filter filter,
int flags)
addFillDetector
public void addFillDetector(FeFillDetector detector)
- Essential. When this PlaceHolder becomes any other kind of RangeElement, then the
Detector will be triggered with the new RangeElement. If this is already not a
PlaceHolder, then the Detector is triggered immediately with this RangeElement.
See FillRangeDetector::filled (RangeElement * newIdentity).
again
public FeRangeElement again()
- 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.
canMakeIdentical
public boolean canMakeIdentical(FeRangeElement newIdentity)
- 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.
fillDetector
public FeFillDetector fillDetector()
- Essential. Return a FillDetector that will be triggered when this RangeElement becomes
something other than a PlaceHolder, or immeditely if this RangeElement is not currently a
PlaceHolder.
See FillRangeDetector::filled (RangeElement * newIdentity).
isIdentical
public boolean isIdentical(FeRangeElement other)
- Essential. Return whether two objects have the same identity on the Server. Note that
this can change over time, if makeIdentical is used. However, for a given pair of
FeRangeElements, it can only change from not being the same to being the same while you
are holding onto them.
makeIdentical
public void makeIdentical(FeRangeElement newIdentity)
- Essential. Change the identity of this object to the other. BLAST if unsuccessful.
Requires authority of the current owner; if the operation is successful, the owner will
appear to change to that of the other object.
Also requires enough permission on newIdentity to determine, by comparing content, whether
the operation would succeed.
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.
owner
public ID owner()
- Essential. The Club which owns this RangeElement, and has the authority to make it become
something else, and to transfer ownership to someone else.
removeFillDetector
public void removeFillDetector(FeFillDetector detector)
- 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.
setOwner
public void setOwner(ID clubID)
- Essential. Change the owner; must have the authority of the current owner.
transcluders
public FeEdition transcluders(Filter directFilter,
Filter indirectFilter,
int flags,
FeEdition otherTranscluders)
- All Editions which the CurrentKeyMaster can see, which transclude this RangeElement.
If a directFilter is given, then the visibleEndorsements on a Edition must match the
filter.
If an indirectFilter is given, then a resulting Edition must be contained in some readable
Edition whose visibleEndorsements match the filter.
If the directContainersOnly flag is set, then a resulting Edition must contain this
directly as a RangeElement; otherwise, indirect containment through Editions is allowed.
If the localPresentOnly flag is set, then only Editions currently known to this Server are
guaranteed to end up in the result; otherwise, Editions which come to satisfy the
conditions in the future, and those on other Servers, may also be found.
Equivalent to
FeServer::current ()->newEditionWith (, this)
->rangeTranscluders (NULL, directFilter, indirectFilter, flags, otherTranscluders).
works
public FeEdition works(Filter filter,
int flags,
FeEdition otherTranscluders)
- Essential. Works which contain this RangeElement and can be read by the CurrentKeyMaster.
Returns an IDSpace Edition full of PlaceHolders, which will be filled with Works as
results come in.
If a filter is given, then only Works whose endorsements pass the Filter are returned.
If localPresentOnly flag is set, then only Works currently known to this Server are
returned; otherwise, as new Works come to be known to the Server, they are filled into the
resulting Edition.
If directContainersOnly is set, and this is an Edition, then only Works which are directly
on this Edition are returned (and not Works which are on Editions which have this one as
sub-Editions).
{ | w's contains self, w passes filter}
carrier
public BeCarrier carrier()
- Return an object that wraps up any run-time state that might be needed inside the Be
system. Right now that means labels.
fetchBe
public BeRangeElement fetchBe()
- If this has a reified Be object, then return it, else NULL
getOrMakeBe
public BeRangeElement getOrMakeBe()
- An individual BeRangeElement for this identity. If the object is virtualized, then
de-virtualizes it.
inspect
public void inspect()
- Sensor leftShiftDown
- Overrides:
inspect in class AboraHeaper
transcluders
public FeEdition transcluders()
transcluders
public FeEdition transcluders(Filter directFilter)
transcluders
public FeEdition transcluders(Filter directFilter,
Filter indirectFilter)
transcluders
public FeEdition transcluders(Filter directFilter,
Filter indirectFilter,
int flags)
label
public FeLabel label()
- Essential. Return the label attached to this FeRangeElement. (An FeRangeElement holds a
BeRangeElement and a label.) All FeRangeElements have a label attached to them when they
are created (in the various Server::newRangeElement operations). Derived Editions have
the same the label as the Edition they were derived from (e.g. the receiver of copy,
combine, replace, transformedBy, etc.) Labels may be available only on Editions in 1.0.
(While this is in force, label() will blast if sent to other kinds of FeEditions.)
relabelled
public FeRangeElement relabelled(FeLabel label)
- Essential. Return a new FeRangeElement with the same identity and contents (i.e. holding
the same BeRangeElement), but with a different label. (Get new labels from
FeServer::newLabel())
becomeOther
public boolean becomeOther(FeRangeElement newIdentity)
isSameAs
public boolean isSameAs(FeRangeElement other)
actualHashForEqual
public int actualHashForEqual()
- Overrides:
actualHashForEqual in class Heaper
isEqual
public boolean isEqual(java.lang.Object other)
validateEndorsement
public static void validateEndorsement(CrossRegion endorsements,
FeKeyMaster km)
- Check whether the endorsements are valid and authorized.
Blast appropriately if not.
validateSignature
public static void validateSignature(IDRegion clubs,
FeKeyMaster km)
- Check whether the signatures are valid and authorized.
Blast appropriately if not.
info
public static void info()
- {void CLIENT} addFillDetector: detector {PrFillDetector}
{FeRangeElement CLIENT} again
{BooleanVar CLIENT} canMakeIdentical: newIdentity {FeRangeElement}
{BooleanVar CLIENT} isIdentical: other {FeRangeElement}
{FeLabel CLIENT} label
{void CLIENT} makeIdentical: newIdentity {FeRangeElement}
{ID CLIENT} owner
{FeRangeElement CLIENT} relabelled: label {FeLabel}
{void CLIENT} removeFillDetector: detector {PrFillDetector}
{void CLIENT} setOwner: clubID {ID}
{FeEdition CLIENT} transcluders
{FeEdition CLIENT} transcluders: directFilter {Filter default: NULL}
{FeEdition CLIENT} transcluders: directFilter {Filter default: NULL} with: indirectFilter
{Filter default: NULL}
{FeEdition CLIENT} transcluders: directFilter {Filter default: NULL} with: indirectFilter
{Filter default: NULL} with: flags {Int32 default: Int32Zero}
{FeEdition CLIENT} transcluders: directFilter {Filter default: NULL} with: indirectFilter
{Filter default: NULL} with: flags {Int32 default: Int32Zero} with: otherTrail {FeEdition
default: NULL}
{FeEdition CLIENT} works: filter {Filter default: NULL} with: flags {Int32 default:
Int32Zero} with: otherTrail {FeEdition default: NULL}
placeHolder
public static FeRangeElement placeHolder()
- Make a single PlaceHolder.
Translation - Copyright © 2003 David G Jones. All Rights Reserved.
Original Udanax-Gold - Copyright © 1979-1999 Udanax.com. All rights reserved.