Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Drools Planner distribution 6.0.0.Alpha9
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.drools.planner.core.heuristic.selector.value.decorator
Class CachingValueSelector

    java.lang.Object
      org.drools.planner.core.heuristic.selector.AbstractSelector
          org.drools.planner.core.heuristic.selector.value.AbstractValueSelector
              org.drools.planner.core.heuristic.selector.value.decorator.AbstractCachingValueSelector
                  org.drools.planner.core.heuristic.selector.value.decorator.CachingValueSelector

All Implemented Interfaces:
  Iterable<Object>, EventListener, SelectionCacheLifecycleListener, IterableSelector<Object>, Selector, EntityIndependentValueSelector, ValueSelector, SolverPhaseLifecycleListener, SolverLifecycleListener

    public class CachingValueSelector

extends AbstractCachingValueSelector
implements EntityIndependentValueSelector

A `ValueSelector` that caches the result of its child `ValueSelector`.

Keep this code in sync with `CachingEntitySelector` and `CachingMoveSelector`.

Field Summary
`protected boolean` | `randomSelection`

Fields inherited from class org.drools.planner.core.heuristic.selector.value.decorator.AbstractCachingValueSelector
`cachedValueList, cacheType, childValueSelector`

Fields inherited from class org.drools.planner.core.heuristic.selector.AbstractSelector
`logger, solverPhaseLifecycleSupport, workingRandom`

Constructor Summary
`CachingValueSelector(EntityIndependentValueSelector childValueSelector, SelectionCacheType cacheType, boolean randomSelection)`

Method Summary
`boolean` | `isNeverEnding()` Is true if `Selector.isContinuous()` is true 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.
`String` | `toString()`

Methods inherited from class org.drools.planner.core.heuristic.selector.value.decorator.AbstractCachingValueSelector
`constructCache, disposeCache, getCacheType, getChildValueSelector, getSize, getSize, getVariableDescriptor, isContinuous`

Methods inherited from class org.drools.planner.core.heuristic.selector.AbstractSelector
`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.drools.planner.core.heuristic.selector.value.ValueSelector
`getSize, getVariableDescriptor`

Methods inherited from interface org.drools.planner.core.heuristic.selector.IterableSelector
`getSize`

Methods inherited from interface org.drools.planner.core.heuristic.selector.Selector
`getCacheType, isContinuous`

Methods inherited from interface org.drools.planner.core.phase.event.SolverPhaseLifecycleListener
`phaseEnded, phaseStarted, stepEnded, stepStarted`

Methods inherited from interface org.drools.planner.core.solver.event.SolverLifecycleListener
`solvingEnded, solvingStarted`

Field Detail

### randomSelection

    protected final boolean randomSelection

Constructor Detail

### CachingValueSelector

    public CachingValueSelector(EntityIndependentValueSelector childValueSelector,
                                SelectionCacheType cacheType,
                                boolean randomSelection)

Method Detail

### isNeverEnding

    public boolean isNeverEnding()

  Description copied from interface: `Selector`
  Is true if `Selector.isContinuous()` is true 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 `Selector`
  Returns:
    true if the `Iterator.hasNext()` of the `Iterator` created by `Iterable.iterator()` never returns false.

### iterator

    public Iterator<Object> iterator(Object entity)

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

  Specified by:
    `iterator` in interface `ValueSelector`
  Parameters:
    `entity` - never null
  Returns:
    never null

### iterator

    public Iterator<Object> iterator()

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

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Drools Planner distribution 6.0.0.Alpha9
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2013 JBoss by Red Hat. All Rights Reserved.