Overview | Package | Class | Use | Tree | Deprecated | Index | Help
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 AbstractCachingValueSelector

    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

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

Direct Known Subclasses:
  CachingValueSelector, ShufflingValueSelector

    public abstract class AbstractCachingValueSelector

extends AbstractValueSelector
implements SelectionCacheLifecycleListener

Field Summary
`protected List<Object>` | `cachedValueList`
`protected SelectionCacheType` | `cacheType`
`protected ValueSelector` | `childValueSelector`

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

Constructor Summary
`AbstractCachingValueSelector(ValueSelector childValueSelector, SelectionCacheType cacheType)`

Method Summary
`void` | `constructCache(DefaultSolverScope solverScope)`
`void` | `disposeCache(DefaultSolverScope solverScope)`
`ValueSelector` | `getChildValueSelector()`
`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`.
`PlanningVariableDescriptor` | `getVariableDescriptor()`
`boolean` | `isContinuous()` If true, then `Selector.isNeverEnding()` is also true.

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, toString, wait, wait, wait`

Methods inherited from interface org.drools.planner.core.heuristic.selector.value.ValueSelector
`iterator`

Methods inherited from interface org.drools.planner.core.heuristic.selector.Selector
`isNeverEnding`

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

### childValueSelector

    protected final ValueSelector childValueSelector

### cacheType

    protected final SelectionCacheType cacheType

### cachedValueList

    protected List<Object> cachedValueList

Constructor Detail

### AbstractCachingValueSelector

    public AbstractCachingValueSelector(ValueSelector childValueSelector,
                                        SelectionCacheType cacheType)

Method Detail

### getChildValueSelector

    public ValueSelector getChildValueSelector()

### constructCache

    public void constructCache(DefaultSolverScope solverScope)

  Specified by:
    `constructCache` in interface `SelectionCacheLifecycleListener`

### disposeCache

    public void disposeCache(DefaultSolverScope solverScope)

  Specified by:
    `disposeCache` in interface `SelectionCacheLifecycleListener`

### getVariableDescriptor

    public PlanningVariableDescriptor getVariableDescriptor()

  Specified by:
    `getVariableDescriptor` in interface `ValueSelector`
  Returns:
    never null

### isContinuous

    public boolean isContinuous()

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

  Specified by:
    `isContinuous` in interface `Selector`
  Returns:
    true if any of the value ranges are continuous (as in for example every double value between 1.2 and 1.4)

### getSize

    public long getSize()

  Description copied from interface: `Selector`
  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 `Selector`
  Returns:
    the approximate number of elements generated by this `Selector`, always >= 0

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

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