Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.2.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.nearby
Class NearEntityNearbyValueSelector

    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.nearby.NearEntityNearbyValueSelector

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

    public class NearEntityNearbyValueSelector

extends AbstractValueSelector

Field Summary
`protected ValueSelector` | `childValueSelector`
`protected boolean` | `discardNearbyIndexZero`
`protected NearbyDistanceMeter` | `nearbyDistanceMeter`
`protected NearbyRandom` | `nearbyRandom`
`protected EntitySelector` | `originEntitySelector`
`protected Map<Object,Object[]>` | `originToDestinationsMap`
`protected boolean` | `randomSelection`

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

Constructor Summary
`NearEntityNearbyValueSelector(ValueSelector childValueSelector, EntitySelector originEntitySelector, NearbyDistanceMeter nearbyDistanceMeter, NearbyRandom nearbyRandom, boolean randomSelection)`

Method Summary
`Iterator<Object>` | `endingIterator(Object entity)` If `Selector.isNeverEnding()` is true, then `ValueSelector.iterator(Object)` will never end.
`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(Object entity)` Similar to `Iterable.iterator()`, but requires an entity.
`void` | `phaseEnded(AbstractPhaseScope phaseScope)`
`void` | `phaseStarted(AbstractPhaseScope phaseScope)`

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

Methods inherited from interface org.optaplanner.core.impl.phase.event.PhaseLifecycleListener
`stepEnded, stepStarted`

Methods inherited from interface org.optaplanner.core.impl.solver.event.SolverLifecycleListener
`solvingEnded, solvingStarted`

Field Detail

### childValueSelector

    protected final ValueSelector childValueSelector

### originEntitySelector

    protected final EntitySelector originEntitySelector

### nearbyDistanceMeter

    protected final NearbyDistanceMeter nearbyDistanceMeter

### nearbyRandom

    protected final NearbyRandom nearbyRandom

### randomSelection

    protected final boolean randomSelection

### discardNearbyIndexZero

    protected final boolean discardNearbyIndexZero

See Also:
  Constant Field Values

### originToDestinationsMap

    protected Map<Object,Object[]> originToDestinationsMap

Constructor Detail

### NearEntityNearbyValueSelector

    public NearEntityNearbyValueSelector(ValueSelector childValueSelector,
                                         EntitySelector originEntitySelector,
                                         NearbyDistanceMeter nearbyDistanceMeter,
                                         NearbyRandom nearbyRandom,
                                         boolean randomSelection)

Method Detail

### getVariableDescriptor

    public GenuineVariableDescriptor getVariableDescriptor()

  Returns:
    never null

### phaseStarted

    public void phaseStarted(AbstractPhaseScope phaseScope)

  Specified by:
    `phaseStarted` in interface `PhaseLifecycleListener`
  Overrides:
    `phaseStarted` in class `AbstractSelector`

### phaseEnded

    public void phaseEnded(AbstractPhaseScope phaseScope)

  Specified by:
    `phaseEnded` in interface `PhaseLifecycleListener`
  Overrides:
    `phaseEnded` in class `AbstractSelector`

### isCountable

    public boolean isCountable()

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

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

  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.

  Parameters:
    `entity` - never null
  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.

  Parameters:
    `entity` - never null
  Returns:
    never null

### endingIterator

    public Iterator<Object> endingIterator(Object entity)

  Description copied from interface: `ValueSelector`
  If `Selector.isNeverEnding()` is true, then `ValueSelector.iterator(Object)` will never end. This returns an ending `Iterator`, that tries to match `ValueSelector.iterator(Object)` as much as possible, but return each distinct element only once and therefore it might not respect the configuration of this `ValueSelector` entirely.

  Returns:
    never null
  See Also:
    `ValueSelector.iterator(Object)`

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