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

## org.optaplanner.core.impl.heuristic.selector.value.decorator
Class ReinitializeVariableValueSelector

    java.lang.Object
      org.optaplanner.core.impl.heuristic.selector.AbstractSelector
          org.optaplanner.core.impl.heuristic.selector.value.AbstractValueSelector
              org.optaplanner.core.impl.heuristic.selector.value.decorator.ReinitializeVariableValueSelector

All Implemented Interfaces:
  EventListener, Selector, ValueSelector, PhaseLifecycleListener, SolverLifecycleListener

    public class ReinitializeVariableValueSelector

extends AbstractValueSelector

Prevents reassigning of already initialized variables during Construction Heuristics and Exhaustive Search.

Returns no values for an entity's variable if the variable is already initialized.

Field Summary
`protected ValueSelector` | `childValueSelector`
`protected SelectionFilter` | `reinitializeVariableEntityFilter`
`protected ScoreDirector` | `scoreDirector`

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

Constructor Summary
`ReinitializeVariableValueSelector(ValueSelector childValueSelector)`

Method Summary
`Iterator<Object>` | `endingIterator(Object entity)` If `Selector.isNeverEnding()` is true, then `ValueSelector.iterator(Object)` will never end.
`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(Object entity)` Similar to `Iterable.iterator()`, but requires an entity.
`void` | `phaseEnded(AbstractPhaseScope phaseScope)`
`void` | `phaseStarted(AbstractPhaseScope phaseScope)`
`String` | `toString()`

Methods inherited from class org.optaplanner.core.impl.heuristic.selector.AbstractSelector
`getCacheType, 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
`stepEnded, stepStarted`

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

Field Detail

### childValueSelector

    protected final ValueSelector childValueSelector

### reinitializeVariableEntityFilter

    protected final SelectionFilter reinitializeVariableEntityFilter

### scoreDirector

    protected ScoreDirector scoreDirector

Constructor Detail

### ReinitializeVariableValueSelector

    public ReinitializeVariableValueSelector(ValueSelector childValueSelector)

Method Detail

### phaseStarted

    public void phaseStarted(AbstractPhaseScope phaseScope)

  Specified by:
    `phaseStarted` in interface `PhaseLifecycleListener`
  Overrides:
    `phaseStarted` in class `AbstractSelector`

### phaseEnded

    public void phaseEnded(AbstractPhaseScope phaseScope)

  Specified by:
    `phaseEnded` in interface `PhaseLifecycleListener`
  Overrides:
    `phaseEnded` in class `AbstractSelector`

### getVariableDescriptor

    public GenuineVariableDescriptor getVariableDescriptor()

  Returns:
    never null

### isCountable

    public boolean isCountable()

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

  Returns:
    true if all the `ValueRange`s are countable (for example a double value range between 1.2 and 1.4 is not countable)

### 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).

  Returns:
    true if the `Iterator.hasNext()` of the `Iterator` created by `Iterable.iterator()` never returns false (except when it's empty).

### getSize

    public long getSize(Object entity)

  Description copied from interface: `ValueSelector`
  Similar to `IterableSelector.getSize()`, but requires an entity.

  Parameters:
    `entity` - never null
  Returns:
    the approximate number of elements generated by this `Selector`, always >= 0

### iterator

    public Iterator<Object> iterator(Object entity)

  Description copied from interface: `ValueSelector`
  Similar to `Iterable.iterator()`, but requires an entity.

  Parameters:
    `entity` - never null
  Returns:
    never null

### endingIterator

    public Iterator<Object> endingIterator(Object entity)

  Description copied from interface: `ValueSelector`
  If `Selector.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.

  Returns:
    never null
  See Also:
    `ValueSelector.iterator(Object)`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

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

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