public class MimicReplayingValueSelector extends AbstractValueSelector implements EntityIndependentValueSelector
| Modifier and Type | Field and Description | 
|---|---|
| protected boolean | hasRecording | 
| protected boolean | hasRecordingCreated | 
| protected Object | recording | 
| protected boolean | recordingAlreadyReturned | 
| protected boolean | recordingCreated | 
| protected ValueMimicRecorder | valueMimicRecorder | 
logger, phaseLifecycleSupport, workingRandom| Constructor and Description | 
|---|
| MimicReplayingValueSelector(ValueMimicRecorder valueMimicRecorder) | 
| Modifier and Type | Method and Description | 
|---|---|
| Iterator<Object> | endingIterator(Object entity)If  Selector.isNeverEnding()is true, thenValueSelector.iterator(Object)will never end. | 
| long | getSize()A random JIT  SelectorwithSelector.isNeverEnding()true should return a size
 as if it would be able to return each distinct element only once,
 because the size can be used inSelectionProbabilityWeightFactory. | 
| long | getSize(Object entity)Similar to  IterableSelector.getSize(), but requires an entity. | 
| GenuineVariableDescriptor | getVariableDescriptor() | 
| boolean | isCountable()If false, then  Selector.isNeverEnding()is true. | 
| boolean | isNeverEnding()Is true if  Selector.isCountable()is false
 or if this selector is in random order (for most cases). | 
| Iterator<Object> | iterator() | 
| Iterator<Object> | iterator(Object entity)Similar to  Iterable.iterator(), but requires an entity. | 
| void | phaseEnded(AbstractPhaseScope phaseScope) | 
| void | phaseStarted(AbstractPhaseScope phaseScope) | 
| void | recordedHasNext(boolean hasNext) | 
| void | recordedNext(Object next) | 
| String | toString() | 
getCacheType, solvingEnded, solvingStarted, stepEnded, stepStartedclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetCacheTypestepEnded, stepStartedsolvingEnded, solvingStartedforEach, spliteratorprotected final ValueMimicRecorder valueMimicRecorder
protected boolean hasRecordingCreated
protected boolean hasRecording
protected boolean recordingCreated
protected Object recording
protected boolean recordingAlreadyReturned
public MimicReplayingValueSelector(ValueMimicRecorder valueMimicRecorder)
public void phaseStarted(AbstractPhaseScope phaseScope)
phaseStarted in interface PhaseLifecycleListenerphaseStarted in class AbstractSelectorpublic void phaseEnded(AbstractPhaseScope phaseScope)
phaseEnded in interface PhaseLifecycleListenerphaseEnded in class AbstractSelectorpublic GenuineVariableDescriptor getVariableDescriptor()
getVariableDescriptor in interface ValueSelectorpublic boolean isCountable()
SelectorSelector.isNeverEnding() is true.isCountable in interface SelectorValueRanges are countable
 (for example a double value range between 1.2 and 1.4 is not countable)public boolean isNeverEnding()
SelectorSelector.isCountable() is false
 or if this selector is in random order (for most cases).
 Is never true when this selector is in shuffled order (which is less scalable but more exact).isNeverEnding in interface SelectorIterator.hasNext() of the Iterator created by Iterable.iterator()
 never returns false (except when it's empty).public long getSize(Object entity)
ValueSelectorIterableSelector.getSize(), but requires an entity.getSize in interface ValueSelectorentity - never nullSelector, always >= 0public long getSize()
IterableSelectorSelector with Selector.isNeverEnding() true should return a size
 as if it would be able to return each distinct element only once,
 because the size can be used in SelectionProbabilityWeightFactory.getSize in interface IterableSelector<Object>Selector, always >= 0public Iterator<Object> iterator(Object entity)
ValueSelectorIterable.iterator(), but requires an entity.iterator in interface ValueSelectorentity - never nullpublic void recordedHasNext(boolean hasNext)
public void recordedNext(Object next)
public Iterator<Object> endingIterator(Object entity)
ValueSelectorSelector.isNeverEnding() is true, then ValueSelector.iterator(Object) will never end.
 This returns an ending Iterator, that tries to match ValueSelector.iterator(Object) as much as possible,
 but return each distinct element only once
 and therefore it might not respect the configuration of this ValueSelector entirely.endingIterator in interface ValueSelectorentity - never nullValueSelector.iterator(Object)Copyright © 2006–2017 JBoss by Red Hat. All rights reserved.