org.abora.white.settab
Class SetTableStepper
java.lang.Object
|
+--org.abora.white.xpp.basic.Heaper
|
+--org.abora.white.collection.steppers.Stepper
|
+--org.abora.white.settab.SetTableStepper
- public class SetTableStepper
- extends Stepper
|
Method Summary |
int |
actualHashForEqual()
Defined by subclasses to produce the value returned by hashForEqual. |
static PtrArray |
array()
|
Stepper |
copy()
Return a new stepper which steps independently of me, but whose current value is the same
as mine, and which must produce a future history of values which satisfies the same
obligation that my contract obligates me to produce now. |
void |
destroy()
|
Heaper |
fetch()
If I am exhausted (i.e., if (!! this->hasValue())), then return NULL. |
boolean |
hasValue()
Iff I have a current value (i.e. |
boolean |
isEqual(java.lang.Object other)
|
static void |
linkTimeNonInherited()
|
static SetTableStepper |
make(PtrArray array)
|
void |
step()
Essential. |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
myPtrs
protected PtrArray myPtrs
myIndex
protected int myIndex
AnArray
protected static PtrArray AnArray
AStepper
protected static SetTableStepper AStepper
SetTableStepper
public SetTableStepper(PtrArray array)
SetTableStepper
public SetTableStepper(PtrArray array,
int index)
fetch
public Heaper fetch()
- Description copied from class:
Stepper
- If I am exhausted (i.e., if (!! this->hasValue())), then return NULL. Else return
current element. I return wimpily since most items returned are held by collections.
If I create a new object, I should cache it.
- Specified by:
fetch in class Stepper
hasValue
public boolean hasValue()
- Description copied from class:
Stepper
- Iff I have a current value (i.e. this message returns true), then I am not
exhasted. 'fetch' and 'get' will both return this value, and I can be 'step'ped to
my next state. As I am stepped, eventually I may become exhausted (the
reverse of all the above), which is a permanent condition.
Note that not all steppers have to be exhaustable. A Stepper which
enumerates all primes is perfectly reasonable. Assuming otherwise will create
infinite loops. See class comment.
- Specified by:
hasValue in class Stepper
step
public void step()
- Description copied from class:
Stepper
- Essential. If I am currently exhausted (see Stepper::hasValue()), then it is an error to
step me. The result of doing so isn't currently specified (we probably should specify it
to BLAST, but I know that the implementation doesn't currently live up to that spec).
If I am not exhausted, then this advances me to my next state. If my current value (see
Stepper::get()) was my final value, then I am now exhausted, otherwise my new current
value is the next value.
- Specified by:
step in class Stepper
copy
public Stepper copy()
- Description copied from class:
Stepper
- Return a new stepper which steps independently of me, but whose current value is the same
as mine, and which must produce a future history of values which satisfies the same
obligation that my contract obligates me to produce now. Typically, this will mean that he
must produce the same future history that I'm going to produce. However, let's say that I
am enumerating the elements of a partial order in some full order which is consistent with
the partial order. If a copy of me is made after I'm part way through, then me and my copy
may produce any future history compatable both with the partial order and the elements
I've already produced by the time of the copy. Of course, a subclass or a Stepper creating
message (like IntegerRegion::stepper()) may specify the more stringent requirement (that a
copy must produce the same sequence).
To prevent aliasing, Steppers should typically be passed by copy. See class comment.
- Specified by:
copy in class Stepper
destroy
public void destroy()
- Overrides:
destroy in class Heaper
actualHashForEqual
public int actualHashForEqual()
- Description copied from class:
Heaper
- Defined by subclasses to produce the value returned by hashForEqual.
- Overrides:
actualHashForEqual in class Stepper
isEqual
public boolean isEqual(java.lang.Object other)
linkTimeNonInherited
public static void linkTimeNonInherited()
make
public static SetTableStepper make(PtrArray array)
array
public static PtrArray array()
Copyright © 2003 David G Jones. All Rights Reserved.
Original Udanax-Gold - Copyright © 1979-1999 Udanax.com. All rights reserved.