org.abora.gold.props
Class FullPropChange

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.props.PropChange
                    |
                    +--org.abora.gold.props.FullPropChange
Direct Known Subclasses:
BertPropChange, SensorPropChange

public class FullPropChange
extends PropChange

Use this to indicate that all aspects of the Prop may have changed.


Field Summary
 
Fields inherited from class org.abora.gold.props.PropChange
TheBertPropChange, TheCannotPartializeChange, TheDetectorWaitingChange, TheEndorsementsChange, ThePermissionsChange, TheSensorPropChange
 
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
FullPropChange()
           
 
Method Summary
 boolean areEqualPropJoints(PropJoint a, PropJoint b)
          compare the changed parts of two PropJoints
 boolean areEqualProps(Prop a, Prop b)
          compare the changed parts of two Props
 Prop changed(Prop old, Prop a)
          Return a Prop which is the same as 'old' for aspects which I don't represent as changing,
and 'a' for aspects that I do represent as changing.
This is used to replace Props with minimum effort, given that the 'a' parameter has only
new props which are of the aspect this change replaces, while the 'old' parameter starts
as the original set of Props, perhaps including other aspects.
See also: with:with:, which unions rather than replacing.
 PropJoint changedJoint(PropJoint old, PropJoint a)
          Return a PropJoint which is the same as 'old' for aspects which I don't represent as
changing, and 'a' for aspects that I do represent as changing.
This is used to replace PropJoints with minimum effort, given that the 'a' parameter has
only new PropJoints which are of the aspect this change replaces, while the 'old'
parameter starts as the original set of PropJoints, perhaps including other aspects.
See also: change:with:, which does this for Props rather than PropJoints.
 PropFinder fetchFinder(Prop before, Prop after, BeRangeElement element, PropFinder oldFinder)
          return a finder looking for this change from before to after, in addition to whatever
oldFinder is looking for (assumes this changes is a subset of oldFinder's change)
 boolean isEqualToJointOf(PropJoint a, Prop b)
          compare the changed parts of a PropJoint and a Prop
 boolean isFull()
          whether this is a complete change of props
 PropJoint join(PropJoint old, PropJoint a, PropJoint b)
          combine two PropJoints with minimum effort, given the previous result
 PropJoint joinProp(PropJoint old, PropJoint a, PropJoint b, Prop prop)
          combine two PropJoints and a prop with minimum effort, given the previous result
 Prop with(Prop old, Prop a)
          Return a Prop which is the same as 'old' for aspects which I don't represent as changing,
and the union of 'old' and 'a' for aspects that I do represent as changing.
This is used to accumulate changes to Props with minimum effort, given that the 'a'
parameter has only new props which are of the aspect this change changes, while the 'old'
parameter starts as the original set of Props, perhaps including other aspects.
See also changed:with:, which replaces rather than unioning.
 
Methods inherited from class org.abora.gold.props.PropChange
actualHashForEqual, bertPropChange, cannotPartializeChange, detectorWaitingChange, endorsementsChange, fetchFinder, fetchFinder, finderPartFrom, initTimeNonInherited, isEqual, linkTimeNonInherited, permissionsChange, sensorPropChange
 
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, 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, inspect, 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

FullPropChange

public FullPropChange()
Method Detail

areEqualProps

public boolean areEqualProps(Prop a,
                             Prop b)
compare the changed parts of two Props

Overrides:
areEqualProps in class PropChange

changed

public Prop changed(Prop old,
                    Prop a)
Description copied from class: PropChange
Return a Prop which is the same as 'old' for aspects which I don't represent as changing,
and 'a' for aspects that I do represent as changing.
This is used to replace Props with minimum effort, given that the 'a' parameter has only
new props which are of the aspect this change replaces, while the 'old' parameter starts
as the original set of Props, perhaps including other aspects.
See also: with:with:, which unions rather than replacing.

Overrides:
changed in class PropChange

fetchFinder

public PropFinder fetchFinder(Prop before,
                              Prop after,
                              BeRangeElement element,
                              PropFinder oldFinder)
Description copied from class: PropChange
return a finder looking for this change from before to after, in addition to whatever
oldFinder is looking for (assumes this changes is a subset of oldFinder's change)

Overrides:
fetchFinder in class PropChange

isFull

public boolean isFull()
whether this is a complete change of props

Overrides:
isFull in class PropChange

with

public Prop with(Prop old,
                 Prop a)
Description copied from class: PropChange
Return a Prop which is the same as 'old' for aspects which I don't represent as changing,
and the union of 'old' and 'a' for aspects that I do represent as changing.
This is used to accumulate changes to Props with minimum effort, given that the 'a'
parameter has only new props which are of the aspect this change changes, while the 'old'
parameter starts as the original set of Props, perhaps including other aspects.
See also changed:with:, which replaces rather than unioning.

Overrides:
with in class PropChange

areEqualPropJoints

public boolean areEqualPropJoints(PropJoint a,
                                  PropJoint b)
compare the changed parts of two PropJoints

Overrides:
areEqualPropJoints in class PropChange

changedJoint

public PropJoint changedJoint(PropJoint old,
                              PropJoint a)
Description copied from class: PropChange
Return a PropJoint which is the same as 'old' for aspects which I don't represent as
changing, and 'a' for aspects that I do represent as changing.
This is used to replace PropJoints with minimum effort, given that the 'a' parameter has
only new PropJoints which are of the aspect this change replaces, while the 'old'
parameter starts as the original set of PropJoints, perhaps including other aspects.
See also: change:with:, which does this for Props rather than PropJoints.

Overrides:
changedJoint in class PropChange

isEqualToJointOf

public boolean isEqualToJointOf(PropJoint a,
                                Prop b)
compare the changed parts of a PropJoint and a Prop

Overrides:
isEqualToJointOf in class PropChange

join

public PropJoint join(PropJoint old,
                      PropJoint a,
                      PropJoint b)
combine two PropJoints with minimum effort, given the previous result

Overrides:
join in class PropChange

joinProp

public PropJoint joinProp(PropJoint old,
                          PropJoint a,
                          PropJoint b,
                          Prop prop)
combine two PropJoints and a prop with minimum effort, given the previous result

Overrides:
joinProp in class PropChange


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