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.move.decorator
Class AbstractCachingMoveSelector

    java.lang.Object
      org.drools.planner.core.heuristic.selector.AbstractSelector
          org.drools.planner.core.heuristic.selector.move.AbstractMoveSelector
              org.drools.planner.core.heuristic.selector.move.decorator.AbstractCachingMoveSelector

All Implemented Interfaces:
  Iterable<Move>, EventListener, SelectionCacheLifecycleListener, IterableSelector<Move>, MoveSelector, Selector, SolverPhaseLifecycleListener, SolverLifecycleListener

Direct Known Subclasses:
  CachingMoveSelector, ShufflingMoveSelector, SortingMoveSelector

    public abstract class AbstractCachingMoveSelector

extends AbstractMoveSelector
implements SelectionCacheLifecycleListener

Field Summary
`protected List<Move>` | `cachedMoveList`
`protected SelectionCacheType` | `cacheType`
`protected MoveSelector` | `childMoveSelector`

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

Constructor Summary
`AbstractCachingMoveSelector(MoveSelector childMoveSelector, SelectionCacheType cacheType)`

Method Summary
`void` | `constructCache(DefaultSolverScope solverScope)`
`void` | `disposeCache(DefaultSolverScope solverScope)`
`SelectionCacheType` | `getCacheType()` Unless this selector itself caches, this returns `SelectionCacheType.JUST_IN_TIME`, even if a selector child caches.
`MoveSelector` | `getChildMoveSelector()`
`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` | `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.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`

Methods inherited from interface java.lang.Iterable
`iterator`

Field Detail

### childMoveSelector

    protected final MoveSelector childMoveSelector

### cacheType

    protected final SelectionCacheType cacheType

### cachedMoveList

    protected List<Move> cachedMoveList

Constructor Detail

### AbstractCachingMoveSelector

    public AbstractCachingMoveSelector(MoveSelector childMoveSelector,
                                       SelectionCacheType cacheType)

Method Detail

### getChildMoveSelector

    public MoveSelector getChildMoveSelector()

### getCacheType

    public SelectionCacheType getCacheType()

  Description copied from interface: `Selector`
  Unless this selector itself caches, this returns `SelectionCacheType.JUST_IN_TIME`, even if a selector child caches.

  Specified by:
    `getCacheType` in interface `Selector`
  Overrides:
    `getCacheType` in class `AbstractSelector`
  Returns:
    never null

### constructCache

    public void constructCache(DefaultSolverScope solverScope)

  Specified by:
    `constructCache` in interface `SelectionCacheLifecycleListener`

### disposeCache

    public void disposeCache(DefaultSolverScope solverScope)

  Specified by:
    `disposeCache` in interface `SelectionCacheLifecycleListener`

### 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: `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 `IterableSelector<Move>`
  Returns:
    the approximate number of elements generated by this `Selector`, always >= 0

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.