org.abora.gold.collection.basic
Class PrimIntegerArray

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.collection.basic.PrimArray
                    |
                    +--org.abora.gold.collection.basic.PrimDataArray
                          |
                          +--org.abora.gold.collection.basic.PrimIntegerArray
Direct Known Subclasses:
IntegerVarArray, PrimIntArray

public class PrimIntegerArray
extends PrimDataArray

A common superclass for primitive arrays of integer types; this is the point to add bulk operations for Boolean operations, etc if we ever want them


Field Summary
 
Fields inherited from class org.abora.gold.collection.basic.PrimArray
OurGutsCount
 
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
protected PrimIntegerArray(int count, int datumSize)
          Constructor for PrimIntegerArray.
 
Method Summary
protected  void addData(int myStart, PrimDataArray other, int otherStart, int count)
          Add the respective elements of other to this over the given index range.
protected  int compareData(int myStart, PrimDataArray other, int otherStart, int count)
          over given range, returns - if this < other; 0 if this == other; + if this > other.
 void copyToBuffer(int[] buffer, int size, int count, int start)
          Copy of a piece of this array into the provided buffer with size bytes of space available.
 int elementsHash(int count, int start)
          A hash of the range of values out of the array
 Heaper fetchValue(int index)
          Fetch a value; may be a Heaper, NULL, or a PrimValue as appropriate to PrimArray subclass.
 PrimIntegerArray hold(int index, IntegerVar value)
           
 PrimIntegerArray hold(int index, IntegerVar value, boolean canModify)
          Store a new value into the array at the given index.
 int indexOf(Heaper value, int start, int n)
          The index of the nth occurrence of the given value at or after (before if n is negative) the given index, or -1 if there is none.
 int indexOfInteger(IntegerVar value)
           
 int indexOfInteger(IntegerVar value, int start)
           
 int indexOfInteger(IntegerVar value, int start, int count)
           
 int indexPast(Heaper value, int start, int n)
          The index of the nth occurrence of anything but the given value at or after (before if n is negative) the given index, or -1 if there is none.
 int indexPastInteger(IntegerVar value)
           
 int indexPastInteger(IntegerVar value, int start)
           
 int indexPastInteger(IntegerVar value, int start, int count)
           
 IntegerVar integerAt(int index)
          Get an actual integer value
protected  PrimArray makeNew(int size, PrimArray source, int sourceOffset, int count, int destOffset)
           
protected  void printElementOn(int index, Stream oo)
           
protected  int signOfNonZeroAfter(int start)
          return the sign of the next non-zero element after start, or 0 if no such element.
 PrimSpec spec()
          A description of the kinds of things which can be stored in this array
 void storeAll(Heaper value, int count, int start)
          Set a range of elements to have the same value
 void storeInteger(int index, IntegerVar value)
          Store an integer value
 void storeValue(int index, Heaper value)
          Store a value; may be a Heaper, NULL, or a PrimValue as appropriate to PrimArray subclass.
protected  void subtractData(int myStart, PrimDataArray other, int otherStart, int count)
          Subtract the respective elements of other from this over the given index range.
 
Methods inherited from class org.abora.gold.collection.basic.PrimDataArray
addElements, addElements, addElements, compare, compare, compare, compare, contentsEqual, elementsEqual, subtractElements, subtractElements, subtractElements
 
Methods inherited from class org.abora.gold.collection.basic.PrimArray
cleanup, contentsHash, copy, copy, copy, copy, copy, copyElements, copyGrow, copyToBuffer, copyToBuffer, count, elementsEqual, elementsEqual, elementsHash, elementsHash, getValue, indexOf, indexOf, indexOfElements, indexOfElements, indexOfElements, indexOfElements, indexOfElements, indexPast, indexPast, moveTo, outOfBounds, printElementOn, printOn, rangeCheck, size, storage, storeAll, storeAll, storeAll, storeMany, storeMany, storeMany, zeroElements, zeroElements, zeroElements
 
Methods inherited from class org.abora.gold.xpp.basic.Heaper
abstractDeclarationFor, abstractTypeFor, actualHashForEqual, 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, 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

PrimIntegerArray

protected PrimIntegerArray(int count,
                           int datumSize)
Constructor for PrimIntegerArray.

Parameters:
count -
datumSize -
Method Detail

hold

public PrimIntegerArray hold(int index,
                             IntegerVar value,
                             boolean canModify)
Store a new value into the array at the given index. If the value does not fit into the range that can be stored here, return an array of a kind that will accept it. If the index is past the end, return a larger array. If canModify, then returns a newly created array only if the value will not fit into this one, otherwise will always return a new array.


hold

public PrimIntegerArray hold(int index,
                             IntegerVar value)

storeInteger

public void storeInteger(int index,
                         IntegerVar value)
Store an integer value


integerAt

public IntegerVar integerAt(int index)
Get an actual integer value


storeValue

public void storeValue(int index,
                       Heaper value)
Description copied from class: PrimArray
Store a value; may be a Heaper, NULL, or a PrimValue as appropriate to PrimArray subclass. It is expected that most PrimArray clients will want to use less abstract access methods

Overrides:
storeValue in class PrimDataArray

fetchValue

public Heaper fetchValue(int index)
Description copied from class: PrimArray
Fetch a value; may be a Heaper, NULL, or a PrimValue as appropriate to PrimArray subclass. It is expected that most PrimArray clients will want to use less abstract access methods.

Overrides:
fetchValue in class PrimDataArray

spec

public PrimSpec spec()
Description copied from class: PrimArray
A description of the kinds of things which can be stored in this array

Overrides:
spec in class PrimDataArray

elementsHash

public int elementsHash(int count,
                        int start)
Description copied from class: PrimDataArray
A hash of the range of values out of the array

Overrides:
elementsHash in class PrimDataArray

indexOf

public int indexOf(Heaper value,
                   int start,
                   int n)
Description copied from class: PrimArray
The index of the nth occurrence of the given value at or after (before if n is negative) the given index, or -1 if there is none.

Overrides:
indexOf in class PrimDataArray

indexOfInteger

public int indexOfInteger(IntegerVar value,
                          int start,
                          int count)

indexOfInteger

public int indexOfInteger(IntegerVar value,
                          int start)

indexOfInteger

public int indexOfInteger(IntegerVar value)

indexPast

public int indexPast(Heaper value,
                     int start,
                     int n)
Description copied from class: PrimArray
The index of the nth occurrence of anything but the given value at or after (before if n is negative) the given index, or -1 if there is none.

Overrides:
indexPast in class PrimDataArray

indexPastInteger

public int indexPastInteger(IntegerVar value,
                            int start,
                            int count)

indexPastInteger

public int indexPastInteger(IntegerVar value,
                            int start)

indexPastInteger

public int indexPastInteger(IntegerVar value)

storeAll

public void storeAll(Heaper value,
                     int count,
                     int start)
Description copied from class: PrimArray
Set a range of elements to have the same value

Overrides:
storeAll in class PrimDataArray

copyToBuffer

public void copyToBuffer(int[] buffer,
                         int size,
                         int count,
                         int start)
Description copied from class: PrimArray
Copy of a piece of this array into the provided buffer with size bytes of space available. The default is to start at the beginning and go to the end. The elements will be copied from this array beginning with start, and taking as many of count elements or upto the end of this array as will fit in size bytes. WARNING: Note that if this array is a PtrArray, the pointers copied to buffer will not be considered as references for garbage collection. Therefore the buffer should not be allowed to contain the only pointer to an object in a garbage collecting environment.

Overrides:
copyToBuffer in class PrimDataArray

compareData

protected int compareData(int myStart,
                          PrimDataArray other,
                          int otherStart,
                          int count)
Description copied from class: PrimDataArray
over given range, returns - if this < other; 0 if this == other; + if this > other.

Overrides:
compareData in class PrimDataArray

signOfNonZeroAfter

protected int signOfNonZeroAfter(int start)
Description copied from class: PrimDataArray
return the sign of the next non-zero element after start, or 0 if no such element. Note that for the unsigned arrays, this will only return 0 or 1.

Overrides:
signOfNonZeroAfter in class PrimDataArray

addData

protected void addData(int myStart,
                       PrimDataArray other,
                       int otherStart,
                       int count)
Description copied from class: PrimDataArray
Add the respective elements of other to this over the given index range.

Overrides:
addData in class PrimDataArray

subtractData

protected void subtractData(int myStart,
                            PrimDataArray other,
                            int otherStart,
                            int count)
Description copied from class: PrimDataArray
Subtract the respective elements of other from this over the given index range.

Overrides:
subtractData in class PrimDataArray

printElementOn

protected void printElementOn(int index,
                              Stream oo)
Overrides:
printElementOn in class PrimDataArray

makeNew

protected PrimArray makeNew(int size,
                            PrimArray source,
                            int sourceOffset,
                            int count,
                            int destOffset)
Overrides:
makeNew in class PrimDataArray


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