org.optaplanner.core.config.heuristic.selector.value.chained

## Class SubChainSelectorConfig

- java.lang.Object
- - org.optaplanner.core.config.AbstractConfig<C>
  - - org.optaplanner.core.config.heuristic.selector.SelectorConfig<SubChainSelectorConfig>
    - - org.optaplanner.core.config.heuristic.selector.value.chained.SubChainSelectorConfig

-     public class SubChainSelectorConfig
      extends SelectorConfig<SubChainSelectorConfig>

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Integer` | `maximumSubChainSize`
    `protected Integer` | `minimumSubChainSize`
    `protected ValueSelectorConfig` | `valueSelectorConfig`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SubChainSelectorConfig()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `SubChainSelector` | `buildSubChainSelector(HeuristicConfigPolicy configPolicy, EntityDescriptor entityDescriptor, SelectionCacheType minimumCacheType, SelectionOrder inheritedSelectionOrder)`
    `Integer` | `getMaximumSubChainSize()`
    `Integer` | `getMinimumSubChainSize()`
    `ValueSelectorConfig` | `getValueSelectorConfig()`
    `void` | `inherit(SubChainSelectorConfig inheritedConfig)` Inherits each property of the `inheritedConfig` unless that property (or a semantic alternative) is defined by this instance (which overwrites the inherited behaviour).
    `void` | `setMaximumSubChainSize(Integer maximumSubChainSize)`
    `void` | `setMinimumSubChainSize(Integer minimumSubChainSize)`
    `void` | `setValueSelectorConfig(ValueSelectorConfig valueSelectorConfig)`
    `String` | `toString()`

    - ### Methods inherited from class org.optaplanner.core.config.heuristic.selector.SelectorConfig

      `validateCacheTypeVersusSelectionOrder`

    - ### Methods inherited from class org.optaplanner.core.config.AbstractConfig

      `copyConfig, deduceEntityDescriptor, deduceVariableDescriptor, deduceVariableDescriptorList, newInstance`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### valueSelectorConfig

          protected ValueSelectorConfig valueSelectorConfig

    - #### minimumSubChainSize

          protected Integer minimumSubChainSize

    - #### maximumSubChainSize

          protected Integer maximumSubChainSize

  - ### Constructor Detail

    - #### SubChainSelectorConfig

          public SubChainSelectorConfig()

  - ### Method Detail

    - #### getValueSelectorConfig

          public ValueSelectorConfig getValueSelectorConfig()

    - #### setValueSelectorConfig

          public void setValueSelectorConfig(ValueSelectorConfig valueSelectorConfig)

    - #### getMinimumSubChainSize

          public Integer getMinimumSubChainSize()

      Returns:
        sometimes null

    - #### setMinimumSubChainSize

          public void setMinimumSubChainSize(Integer minimumSubChainSize)

    - #### getMaximumSubChainSize

          public Integer getMaximumSubChainSize()

    - #### setMaximumSubChainSize

          public void setMaximumSubChainSize(Integer maximumSubChainSize)

    - #### buildSubChainSelector

          public SubChainSelector buildSubChainSelector(HeuristicConfigPolicy configPolicy,
                                                        EntityDescriptor entityDescriptor,
                                                        SelectionCacheType minimumCacheType,
                                                        SelectionOrder inheritedSelectionOrder)

      Parameters:
        `configPolicy` - never null
        `entityDescriptor` - never null
        `minimumCacheType` - never null, If caching is used (different from `SelectionCacheType.JUST_IN_TIME`), then it should be at least this `SelectionCacheType` because an ancestor already uses such caching and less would be pointless.
        `inheritedSelectionOrder` - never null
      Returns:
        never null

    - #### inherit

          public void inherit(SubChainSelectorConfig inheritedConfig)

      Description copied from class: `AbstractConfig`
      Inherits each property of the `inheritedConfig` unless that property (or a semantic alternative) is defined by this instance (which overwrites the inherited behaviour).

      After the inheritance, if a property on this `AbstractConfig` composition is replaced, it should not affect the inherited composition instance.

      Overrides:
        `inherit` in class `SelectorConfig<SubChainSelectorConfig>`
      Parameters:
        `inheritedConfig` - never null

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `AbstractConfig<SubChainSelectorConfig>`

Copyright © 2006–2019 JBoss by Red Hat. All rights reserved.