Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.1.0.CR1
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 SelectedCountLimitValueSelector

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

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

    public class SelectedCountLimitValueSelector

extends AbstractValueSelector
implements EntityIndependentValueSelector

Field Summary
`protected ValueSelector` | `childValueSelector`
`protected long` | `selectedCountLimit`

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

Constructor Summary
`SelectedCountLimitValueSelector(ValueSelector childValueSelector, long selectedCountLimit)` Unlike most of the other `ValueSelector` decorations, this one works for an entity dependent `ValueSelector` too.

Method Summary
`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`.
`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()`
`Iterator<Object>` | `iterator(Object entity)` Similar to `Iterable.iterator()`, but requires an entity.
`String` | `toString()`

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

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 ValueSelector childValueSelector

### selectedCountLimit

    protected final long selectedCountLimit

Constructor Detail

### SelectedCountLimitValueSelector

    public SelectedCountLimitValueSelector(ValueSelector childValueSelector,
                                           long selectedCountLimit)

  Unlike most of the other `ValueSelector` decorations, this one works for an entity dependent `ValueSelector` too.

  Parameters:
    `childValueSelector` - never null, if any of the `EntityIndependentValueSelector` specific methods are going to be used, this parameter must also implement that interface
    `selectedCountLimit` - at least 0

Method Detail

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

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

  Specified by:
    `isNeverEnding` in interface `Selector`
  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.

  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()

  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<Object>`
  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.

  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
| OptaPlanner distribution 6.1.0.CR1
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.