Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.2.0.CR1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.optaplanner.core.impl.heuristic.selector.entity.mimic
Class MimicRecordingEntitySelector

    java.lang.Object
      org.optaplanner.core.impl.heuristic.selector.AbstractSelector
          org.optaplanner.core.impl.heuristic.selector.entity.AbstractEntitySelector
              org.optaplanner.core.impl.heuristic.selector.entity.mimic.MimicRecordingEntitySelector

All Implemented Interfaces:
  Iterable<Object>, EventListener, ListIterable<Object>, EntitySelector, EntityMimicRecorder, IterableSelector<Object>, ListIterableSelector<Object>, Selector, PhaseLifecycleListener, SolverLifecycleListener

    public class MimicRecordingEntitySelector

extends AbstractEntitySelector
implements EntityMimicRecorder

Field Summary
`protected EntitySelector` | `childEntitySelector`
`protected List<MimicReplayingEntitySelector>` | `replayingEntitySelectorList`

Fields inherited from class org.optaplanner.core.impl.heuristic.selector.AbstractSelector
`logger, phaseLifecycleSupport, workingRandom`

Constructor Summary
`MimicRecordingEntitySelector(EntitySelector childEntitySelector)`

Method Summary
`void` | `addMimicReplayingEntitySelector(MimicReplayingEntitySelector replayingEntitySelector)`
`Iterator<Object>` | `endingIterator()` If `Selector.isNeverEnding()` is true, then `Iterable.iterator()` will never end.
`EntityDescriptor` | `getEntityDescriptor()`
`long` | `getSize()` A random JIT `Selector` 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`.
`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()`
`ListIterator<Object>` | `listIterator()` See `List.listIterator()`
`ListIterator<Object>` | `listIterator(int index)` See `List.listIterator()`
`String` | `toString()`

Methods inherited from class org.optaplanner.core.impl.heuristic.selector.AbstractSelector
`getCacheType, phaseEnded, phaseStarted, solvingEnded, solvingStarted, stepEnded, stepStarted`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.optaplanner.core.impl.heuristic.selector.Selector
`getCacheType`

Methods inherited from interface org.optaplanner.core.impl.phase.event.PhaseLifecycleListener
`phaseEnded, phaseStarted, stepEnded, stepStarted`

Methods inherited from interface org.optaplanner.core.impl.solver.event.SolverLifecycleListener
`solvingEnded, solvingStarted`

Field Detail

### childEntitySelector

    protected final EntitySelector childEntitySelector

### replayingEntitySelectorList

    protected final List<MimicReplayingEntitySelector> replayingEntitySelectorList

Constructor Detail

### MimicRecordingEntitySelector

    public MimicRecordingEntitySelector(EntitySelector childEntitySelector)

Method Detail

### addMimicReplayingEntitySelector

    public void addMimicReplayingEntitySelector(MimicReplayingEntitySelector replayingEntitySelector)

  Specified by:
    `addMimicReplayingEntitySelector` in interface `EntityMimicRecorder`
  Parameters:
    `replayingEntitySelector` - never null

### getEntityDescriptor

    public EntityDescriptor getEntityDescriptor()

  Specified by:
    `getEntityDescriptor` in interface `EntitySelector`
  Specified by:
    `getEntityDescriptor` in interface `EntityMimicRecorder`
  Returns:
    never null
  See Also:
    `EntitySelector.getEntityDescriptor()`

### isCountable

    public boolean isCountable()

  Description copied from interface: `Selector`
  If false, then `Selector.isNeverEnding()` is true.

  Specified by:
    `isCountable` in interface `EntityMimicRecorder`
  Specified by:
    `isCountable` in interface `Selector`
  Returns:
    true if all the `ValueRange`s are countable (for example a double value range between 1.2 and 1.4 is not countable)
  See Also:
    `Selector.isCountable()`

### isNeverEnding

    public boolean isNeverEnding()

  Description copied from interface: `Selector`
  Is true if `Selector.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).

  Specified by:
    `isNeverEnding` in interface `EntityMimicRecorder`
  Specified by:
    `isNeverEnding` in interface `Selector`
  Returns:
    true if the `Iterator.hasNext()` of the `Iterator` created by `Iterable.iterator()` never returns false (except when it's empty).
  See Also:
    `Selector.isNeverEnding()`

### getSize

    public long getSize()

  Description copied from interface: `IterableSelector`
  A random JIT `Selector` 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`.

  Specified by:
    `getSize` in interface `EntityMimicRecorder`
  Specified by:
    `getSize` in interface `IterableSelector<Object>`
  Returns:
    the approximate number of elements generated by this `Selector`, always >= 0
  See Also:
    `IterableSelector.getSize()`

### iterator

    public Iterator<Object> iterator()

  Specified by:
    `iterator` in interface `Iterable<Object>`

### endingIterator

    public Iterator<Object> endingIterator()

  Description copied from interface: `EntitySelector`
  If `Selector.isNeverEnding()` is true, then `Iterable.iterator()` will never end. This returns an ending `Iterator`, that tries to match `Iterable.iterator()` as much as possible, but return each distinct element only once and therefore it might not respect the configuration of this `EntitySelector` entirely.

  Specified by:
    `endingIterator` in interface `EntitySelector`
  Specified by:
    `endingIterator` in interface `EntityMimicRecorder`
  Returns:
    never null
  See Also:
    `EntitySelector.endingIterator()`

### listIterator

    public ListIterator<Object> listIterator()

  Description copied from interface: `ListIterable`
  See `List.listIterator()`

  Specified by:
    `listIterator` in interface `ListIterable<Object>`
  Returns:
    never null, see `List.listIterator()`.

### listIterator

    public ListIterator<Object> listIterator(int index)

  Description copied from interface: `ListIterable`
  See `List.listIterator()`

  Specified by:
    `listIterator` in interface `ListIterable<Object>`
  Parameters:
    `index` - lower than the size of this `ListIterable`, see `List.listIterator(int)`.
  Returns:
    never null, see `List.listIterator(int)`.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.2.0.CR1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2014 JBoss by Red Hat. All Rights Reserved.