Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.2.0.Beta2
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 AbstractCachingValueSelector

    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.AbstractCachingValueSelector

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

Direct Known Subclasses:
  CachingValueSelector, ShufflingValueSelector, SortingValueSelector

    public abstract class AbstractCachingValueSelector

extends AbstractValueSelector
implements SelectionCacheLifecycleListener

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

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

Constructor Summary
`AbstractCachingValueSelector(EntityIndependentValueSelector childValueSelector, 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.
`ValueSelector` | `getChildValueSelector()`
`long` | `getSize()`
`long` | `getSize(Object entity)` Similar to `IterableSelector.getSize()`, but requires an entity.
`GenuineVariableDescriptor` | `getVariableDescriptor()`
`boolean` | `isCountable()` If false, then `Selector.isNeverEnding()` is true.

Methods inherited from class org.optaplanner.core.impl.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.optaplanner.core.impl.heuristic.selector.value.ValueSelector
`iterator`

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

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

### childValueSelector

    protected final EntityIndependentValueSelector childValueSelector

### cacheType

    protected final SelectionCacheType cacheType

### cachedValueList

    protected List<Object> cachedValueList

Constructor Detail

### AbstractCachingValueSelector

    public AbstractCachingValueSelector(EntityIndependentValueSelector childValueSelector,
                                        SelectionCacheType cacheType)

Method Detail

### getChildValueSelector

    public ValueSelector getChildValueSelector()

### 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`

### getVariableDescriptor

    public GenuineVariableDescriptor getVariableDescriptor()

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

### isCountable

    public boolean isCountable()

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

  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)

### getSize

    public long getSize(Object entity)

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

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

### getSize

    public long getSize()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.2.0.Beta2
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.