org.abora.gold.be.basic
Class ID

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.spaces.basic.Position
                    |
                    +--org.abora.gold.be.basic.ID

public class ID
extends Position

Implementation note:
An ID exists within a particular IDSpace, and is generated by a particular Server. It
holds onto the space and the Server which created it, along with a number identifying the
ID uniquely. If mySpace is NULL, then the ID is in the global IDSpace. If myBackend is
NULL, then this ID was generated by the current Server (unless myNumber is negative, in
which case it is considered to have been generated by the "global" backend). If myBackend
is non-NULL, then myNumber must be non-negative.


Field Summary
protected  Sequence myBackend
           
protected  IntegerVar myNumber
           
protected  IDSpace mySpace
           
 
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
ID(IDSpace space, Sequence backend, IntegerVar number)
           
ID(Rcvr receiver)
           
 
Method Summary
 int actualHashForEqual()
          since we redefine equal, subclasses had better redefine actualHashForEqual
 XnRegion asRegion()
          Essential.
 Sequence backend()
          Essential.
 CoordinateSpace coordinateSpace()
          Essential.
 UInt8Array export()
          Essential.
static void exportIntegerRegion(SpecialistXmtr xmtr, IntegerRegion integers)
          Write a IntegerRegion onto a stream
static void exportSequence(SpecialistXmtr xmtr, Sequence sequence)
          Write a Sequence onto a stream
 Sequence fetchBackend()
           
 IDSpace fetchSpace()
           
 Sequence identifier()
          A sequence of numbers which uniquely identify this ID within its space
static IntegerRegion importIntegerRegion(SpecialistRcvr rcvr)
          Read a IntegerRegion from a stream
static Sequence importSequence(SpecialistRcvr rcvr)
          Read a Sequence from a stream
static ID importx(PrimIntArray data)
          Essential.
static void info()
          {UInt8Array CLIENT} export
 boolean isEqual(Heaper heaper)
          Return true if the two objects are equal.
static ID key(java.lang.String string)
          ID key: 'test'
static Heaper make(IDSpace space, Sequence backend, IntegerVar number)
           
static Heaper make(IntegerVar left, IntegerVar right)
           
static Heaper make(PackOBits pakobits)
           
 IntegerVar number()
          Essential.
 void printOn(java.io.PrintWriter oo)
           
 void sendSelfTo(Xmtr xmtr)
          do nothing
static ID usingx(IDSpace space, Sequence backend, IntegerVar number)
          Special for IDStepper - checks whether it should make backend be NULL
 
Methods inherited from class org.abora.gold.spaces.basic.Position
isAfterOrEqual, isGE
 
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, 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, 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

mySpace

protected IDSpace mySpace

myBackend

protected Sequence myBackend

myNumber

protected IntegerVar myNumber
Constructor Detail

ID

public ID(IDSpace space,
          Sequence backend,
          IntegerVar number)

ID

public ID(Rcvr receiver)
Method Detail

asRegion

public XnRegion asRegion()
Description copied from class: Position
Essential. A region containing this position as its only element.

Overrides:
asRegion in class Position

coordinateSpace

public CoordinateSpace coordinateSpace()
Description copied from class: Position
Essential. The coordinate space this is a position in. This implies that a position
object is only a position in one particular coordinate space.

Overrides:
coordinateSpace in class Position

export

public UInt8Array export()
Essential. Export this iD in a form which can be handed to Server::importID on any Server
to generate the same ID


actualHashForEqual

public int actualHashForEqual()
Description copied from class: Position
since we redefine equal, subclasses had better redefine actualHashForEqual

Overrides:
actualHashForEqual in class Position

isEqual

public boolean isEqual(Heaper heaper)
Description copied from class: Heaper
Return true if the two objects are equal.

Overrides:
isEqual in class Position

printOn

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

backend

public Sequence backend()
Essential. A Sequence identifying the server on which this was created


fetchBackend

public Sequence fetchBackend()

fetchSpace

public IDSpace fetchSpace()

number

public IntegerVar number()
Essential. The number identifying this ID from all others generated by the same Server in
the same IDSpace.


identifier

public Sequence identifier()
A sequence of numbers which uniquely identify this ID within its space


sendSelfTo

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

Overrides:
sendSelfTo in class Heaper

make

public static Heaper make(IDSpace space,
                          Sequence backend,
                          IntegerVar number)

usingx

public static ID usingx(IDSpace space,
                        Sequence backend,
                        IntegerVar number)
Special for IDStepper - checks whether it should make backend be NULL


key

public static ID key(java.lang.String string)
ID key: 'test'


make

public static Heaper make(PackOBits pakobits)

make

public static Heaper make(IntegerVar left,
                          IntegerVar right)

info

public static void info()
{UInt8Array CLIENT} export


importx

public static ID importx(PrimIntArray data)
Essential. Take some information describing an ID and create the ID it was exported from.


exportIntegerRegion

public static void exportIntegerRegion(SpecialistXmtr xmtr,
                                       IntegerRegion integers)
Write a IntegerRegion onto a stream


exportSequence

public static void exportSequence(SpecialistXmtr xmtr,
                                  Sequence sequence)
Write a Sequence onto a stream


importIntegerRegion

public static IntegerRegion importIntegerRegion(SpecialistRcvr rcvr)
Read a IntegerRegion from a stream


importSequence

public static Sequence importSequence(SpecialistRcvr rcvr)
Read a Sequence from a stream



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