public abstract class NumberChoiceFromList<T extends java.lang.Number> extends ChoiceGeneratorBase<T>
Modifier and Type | Field and Description |
---|---|
protected int |
count |
protected T[] |
values |
Modifier | Constructor and Description |
---|---|
|
NumberChoiceFromList(Config conf,
java.lang.String id) |
protected |
NumberChoiceFromList(java.lang.String id)
super constructor for subclasses that want to configure themselves
|
protected |
NumberChoiceFromList(java.lang.String id,
T[] vals) |
Modifier and Type | Method and Description |
---|---|
void |
advance()
advance to the next choice.
|
protected abstract T[] |
createValueArray(int len) |
T |
getChoice(int idx)
explicit choice enumeration.
|
protected abstract T |
getDefaultValue() |
T |
getNextChoice() |
int |
getProcessedNumberOfChoices() |
int |
getTotalNumberOfChoices() |
java.lang.String |
getValueLabel()
get String label of current value, as specified in config file
|
boolean |
hasMoreChoices() |
protected abstract T |
newValue(java.lang.Number num,
int sign) |
protected T |
parse(java.lang.String varSpec,
StackFrame resolveFrame) |
protected abstract T |
parseLiteral(java.lang.String literal,
int sign) |
NumberChoiceFromList<T> |
randomize()
turn the order of choices random (if it isn't already).
|
NumberChoiceFromList<T> |
reorder(java.util.Comparator<T> comparator)
reorder according to a user provided comparator
|
void |
reset()
this has to reset the CG to its initial state, which includes resetting
'isDone'
|
boolean |
supportsReordering() |
java.lang.String |
toString() |
addAttr, advance, attrIterator, attrIterator, clone, deepClone, getAll, getAllChoices, getAllOfType, getAttr, getAttr, getCascade, getCascadedParent, getId, getIdRef, getInsn, getNextAttr, getNumberOfParents, getPreviousChoiceGenerator, getPreviousChoiceGeneratorOfType, getProcessedChoices, getSourceLocation, getStateId, getThreadInfo, getUnprocessedChoices, hasAttr, hasAttr, hasAttrValue, init, isCascaded, isDone, isProcessed, isSchedulingPoint, removeAttr, replaceAttr, select, setAttr, setCascaded, setContext, setCurrent, setDone, setId, setIdRef, setInsn, setPreviousChoiceGenerator, setStateId, setThreadInfo, useRandomization
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getChoiceType
protected T extends java.lang.Number[] values
protected int count
protected NumberChoiceFromList(java.lang.String id)
id
- name used in choice configprotected NumberChoiceFromList(java.lang.String id, T[] vals)
public NumberChoiceFromList(Config conf, java.lang.String id)
conf
- JPF configuration objectid
- name used in choice configprotected abstract T[] createValueArray(int len)
protected abstract T getDefaultValue()
protected abstract T parseLiteral(java.lang.String literal, int sign)
protected abstract T newValue(java.lang.Number num, int sign)
public T getChoice(int idx)
ChoiceGeneratorBase
getChoice
in interface ChoiceGenerator<T extends java.lang.Number>
getChoice
in class ChoiceGeneratorBase<T extends java.lang.Number>
public void reset()
ChoiceGenerator
public T getNextChoice()
ChoiceGenerator.getNextChoice()
public boolean hasMoreChoices()
ChoiceGenerator.hasMoreChoices()
public void advance()
ChoiceGenerator
ChoiceGenerator.advance()
public java.lang.String getValueLabel()
public int getTotalNumberOfChoices()
public int getProcessedNumberOfChoices()
public boolean supportsReordering()
supportsReordering
in interface ChoiceGenerator<T extends java.lang.Number>
supportsReordering
in class ChoiceGeneratorBase<T extends java.lang.Number>
protected T parse(java.lang.String varSpec, StackFrame resolveFrame)
public NumberChoiceFromList<T> reorder(java.util.Comparator<T> comparator)
ChoiceGeneratorBase
reorder
in interface ChoiceGenerator<T extends java.lang.Number>
reorder
in class ChoiceGeneratorBase<T extends java.lang.Number>
public java.lang.String toString()
toString
in class ChoiceGeneratorBase<T extends java.lang.Number>
public NumberChoiceFromList<T> randomize()
ChoiceGenerator
randomize
in interface ChoiceGenerator<T extends java.lang.Number>
randomize
in class ChoiceGeneratorBase<T extends java.lang.Number>