org.abora.gold.spaces.integers
Class IntegerMapping

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.spaces.basic.Mapping
                    |
                    +--org.abora.gold.spaces.basic.Dsp
                          |
                          +--org.abora.gold.spaces.integers.IntegerMapping

public class IntegerMapping
extends Dsp

Transforms integers by adding a (possibly negative) offset. In addition to the Dsp
protocol, an IntegerDsp will respond to "translation" with the offset that it is adding.
Old documentation indicated a possibility of a future upgrade of IntegerDsp which would
also optionally reflect (or negate) its input in addition to offsetting. This would
however be a non-upwards compatable change in that current clients already assume that the
answer to "translation" fully describes the IntegerDsp. If such a possibility is
introduced, it should be as a super-type of IntegerDsp, since it would have a weaker
contract. Then compatability problems can be caught by the type checker.


Field Summary
protected  IntegerVar myTranslation
           
protected static IntegerMapping TheIdentityIntegerMapping
           
 
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
IntegerMapping(IntegerVar translation)
          Initialize instance variables
 
Method Summary
 int actualHashForEqual()
           
 Dsp compose(Dsp other)
          Return the composition of the two Dsps.
 CoordinateSpace coordinateSpace()
          the coordinate space of the domain and range of the Dsp
static Dsp identity()
           
static void info()
          {IntegerVar CLIENT} translation
static void initTimeNonInherited()
           
 Mapping inverse()
          Return the inverse of this transformation.
 Dsp inverseCompose(Dsp other)
          Return the composition of my inverse with the other.
a->inverseCompose(b) ->isEqual (a->inverse()->compose(b))
 Position inverseOf(Position pos)
          Since Dsps always represent a unique mapping in either direction, the permission to BLAST
in the Mapping constract no longer applies.
a->inverseOf(b) ->isEqual (a->inverse()->of(b))
 XnRegion inverseOfAll(XnRegion reg)
          Inverse transform a region.
 IntegerVar inverseOfInt(IntegerVar pos)
          Unboxed version of 'this->inverseOf (xuInteger(pos))'.
 boolean isEqual(Heaper other)
          Should have same offset and reversal
 boolean isIdentity()
          Says whether this Dsp maps every Position onto itself
static void linkTimeNonInherited()
           
static Heaper make()
           
static Heaper make(IntegerVar translate)
           
static Heaper make(Rcvr rcvr)
           
 Dsp minus(Dsp other)
          Return the difference of the two Dsps.
(a->compose(b) ->minus(b))->isEqual (a)
 Position of(Position pos)
          Since Dsps always represent a unique mapping in either direction, the permission to BLAST
in the Mapping constract no longer applies.
 XnRegion ofAll(XnRegion reg)
          If 'reg' is a simple region, then the result must also be simple
 IntegerVar ofInt(IntegerVar pos)
          Unboxed version of 'this->of (xuInteger(pos))'.
 void printOn(java.io.PrintWriter aStream)
           
 void sendIntegerMapping(Xmtr xmtr)
           
 void sendSelfTo(Xmtr xmtr)
          do nothing
 IntegerVar translation()
          The offset which I add to a position.
If my translation is 7, then this->of(4) is 11.
 
Methods inherited from class org.abora.gold.spaces.basic.Dsp
appliedAfter, domain, fetchCombine, fetchDsp, isComplete, preCompose, range, rangeSpace, restrict, restrictRange, simpleMappings, simpleRegionMappings, transformedBy
 
Methods inherited from class org.abora.gold.spaces.basic.Mapping
combine, domainSpace, export, make, make, make, make, make, simplerMappings, unrestricted
 
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, 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, 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
 

Field Detail

myTranslation

protected IntegerVar myTranslation

TheIdentityIntegerMapping

protected static IntegerMapping TheIdentityIntegerMapping
Constructor Detail

IntegerMapping

public IntegerMapping(IntegerVar translation)
Initialize instance variables

Method Detail

printOn

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

inverseOf

public Position inverseOf(Position pos)
Description copied from class: Dsp
Since Dsps always represent a unique mapping in either direction, the permission to BLAST
in the Mapping constract no longer applies.
a->inverseOf(b) ->isEqual (a->inverse()->of(b))

Overrides:
inverseOf in class Dsp

inverseOfAll

public XnRegion inverseOfAll(XnRegion reg)
Description copied from class: Dsp
Inverse transform a region. A simple region must yield a simple region.
a->inverseOfAll(b) ->isEqual (a->inverseAll()->of(b))

Overrides:
inverseOfAll in class Dsp

inverseOfInt

public IntegerVar inverseOfInt(IntegerVar pos)
Description copied from class: Mapping
Unboxed version of 'this->inverseOf (xuInteger(pos))'. See
discussion in the XuInteger class comment about boxed and unboxed
protocols

Overrides:
inverseOfInt in class Mapping

of

public Position of(Position pos)
Description copied from class: Dsp
Since Dsps always represent a unique mapping in either direction, the permission to BLAST
in the Mapping constract no longer applies.

Overrides:
of in class Dsp

ofAll

public XnRegion ofAll(XnRegion reg)
Description copied from class: Dsp
If 'reg' is a simple region, then the result must also be simple

Overrides:
ofAll in class Dsp

ofInt

public IntegerVar ofInt(IntegerVar pos)
Description copied from class: Mapping
Unboxed version of 'this->of (xuInteger(pos))'. See discussion in the XuInteger class
comment about boxed and unboxed protocols

Overrides:
ofInt in class Mapping

coordinateSpace

public CoordinateSpace coordinateSpace()
Description copied from class: Dsp
the coordinate space of the domain and range of the Dsp

Overrides:
coordinateSpace in class Dsp

isIdentity

public boolean isIdentity()
Description copied from class: Dsp
Says whether this Dsp maps every Position onto itself

Overrides:
isIdentity in class Dsp

translation

public IntegerVar translation()
The offset which I add to a position.
If my translation is 7, then this->of(4) is 11.


actualHashForEqual

public int actualHashForEqual()
Overrides:
actualHashForEqual in class Mapping

isEqual

public boolean isEqual(Heaper other)
Should have same offset and reversal

Overrides:
isEqual in class Heaper

compose

public Dsp compose(Dsp other)
Description copied from class: Dsp
Return the composition of the two Dsps. Two Dsps of the same space are always composable.
(a->compose(b) ->minus(b))->isEqual (a)
(a->compose(b) ->of(pos))->isEqual (a->of (b->of (pos))

Overrides:
compose in class Dsp

inverse

public Mapping inverse()
Description copied from class: Dsp
Return the inverse of this transformation. Considering the Dsp as a set of pairs
(see class comment), return the Dsp which has the mirror image of all my
pairs.

Overrides:
inverse in class Dsp

inverseCompose

public Dsp inverseCompose(Dsp other)
Description copied from class: Dsp
Return the composition of my inverse with the other.
a->inverseCompose(b) ->isEqual (a->inverse()->compose(b))

Overrides:
inverseCompose in class Dsp

minus

public Dsp minus(Dsp other)
Description copied from class: Dsp
Return the difference of the two Dsps.
(a->compose(b) ->minus(b))->isEqual (a)

Overrides:
minus in class Dsp

sendIntegerMapping

public void sendIntegerMapping(Xmtr xmtr)

sendSelfTo

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

Overrides:
sendSelfTo in class Heaper

initTimeNonInherited

public static void initTimeNonInherited()

linkTimeNonInherited

public static void linkTimeNonInherited()

make

public static Heaper make()

make

public static Heaper make(Rcvr rcvr)

make

public static Heaper make(IntegerVar translate)

identity

public static Dsp identity()

info

public static void info()
{IntegerVar CLIENT} translation



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