Package org.optaplanner.core.config.heuristic.selector.entity.pillar

## Class PillarSelectorConfig

- java.lang.Object
- - org.optaplanner.core.config.AbstractConfig<C>
  - - org.optaplanner.core.config.heuristic.selector.SelectorConfig<PillarSelectorConfig>
    - - org.optaplanner.core.config.heuristic.selector.entity.pillar.PillarSelectorConfig

-     public class PillarSelectorConfig
      extends SelectorConfig<PillarSelectorConfig>

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected EntitySelectorConfig` | `entitySelectorConfig` |
    `protected Integer` | `maximumSubPillarSize` |
    `protected Integer` | `minimumSubPillarSize` |
    `protected Boolean` | `subPillarEnabled` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PillarSelectorConfig()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `PillarSelector` | `buildPillarSelector​(HeuristicConfigPolicy configPolicy, SubPillarType subPillarType, Class<? extends Comparator> subPillarSequenceComparatorClass, SelectionCacheType minimumCacheType, SelectionOrder inheritedSelectionOrder, List<String> variableNameIncludeList)` |
    `PillarSelectorConfig` | `copyConfig()` | Typically implemented by constructing a new instance and calling `AbstractConfig.inherit(AbstractConfig)` on it
    `EntitySelectorConfig` | `getEntitySelectorConfig()` |
    `Integer` | `getMaximumSubPillarSize()` |
    `Integer` | `getMinimumSubPillarSize()` |
    `Boolean` | `getSubPillarEnabled()` | Deprecated. in favor of SubPillarType
    `PillarSelectorConfig` | `inherit​(PillarSelectorConfig 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` | `setEntitySelectorConfig​(EntitySelectorConfig entitySelectorConfig)` |
    `void` | `setMaximumSubPillarSize​(Integer maximumSubPillarSize)` |
    `void` | `setMinimumSubPillarSize​(Integer minimumSubPillarSize)` |
    `void` | `setSubPillarEnabled​(Boolean subPillarEnabled)` | Deprecated. in favor of SubPillarType
    `String` | `toString()` |

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

      `validateCacheTypeVersusSelectionOrder`

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

      `deduceEntityDescriptor, deduceVariableDescriptor, deduceVariableDescriptorList`

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

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

- - ### Field Detail

    - #### entitySelectorConfig

          protected EntitySelectorConfig entitySelectorConfig

    - #### subPillarEnabled

          protected Boolean subPillarEnabled

    - #### minimumSubPillarSize

          protected Integer minimumSubPillarSize

    - #### maximumSubPillarSize

          protected Integer maximumSubPillarSize

  - ### Constructor Detail

    - #### PillarSelectorConfig

          public PillarSelectorConfig()

  - ### Method Detail

    - #### getEntitySelectorConfig

          public EntitySelectorConfig getEntitySelectorConfig()

    - #### setEntitySelectorConfig

          public void setEntitySelectorConfig​(EntitySelectorConfig entitySelectorConfig)

    - #### getSubPillarEnabled

          @Deprecated
          public Boolean getSubPillarEnabled()

      Deprecated.
      in favor of SubPillarType
      Returns:
        Null when not set.
      See Also:
        `and its uses in pillar move selectors.`

    - #### setSubPillarEnabled

          @Deprecated
          public void setSubPillarEnabled​(Boolean subPillarEnabled)

      Deprecated.
      in favor of SubPillarType
      Parameters:
        `subPillarEnabled` - true to enable, false to disable, null to leave unset.
      See Also:
        `and its uses in pillar move selectors.`

    - #### getMinimumSubPillarSize

          public Integer getMinimumSubPillarSize()

    - #### setMinimumSubPillarSize

          public void setMinimumSubPillarSize​(Integer minimumSubPillarSize)

    - #### getMaximumSubPillarSize

          public Integer getMaximumSubPillarSize()

    - #### setMaximumSubPillarSize

          public void setMaximumSubPillarSize​(Integer maximumSubPillarSize)

    - #### buildPillarSelector

          public PillarSelector buildPillarSelector​(HeuristicConfigPolicy configPolicy,
                                                    SubPillarType subPillarType,
                                                    Class<? extends Comparator> subPillarSequenceComparatorClass,
                                                    SelectionCacheType minimumCacheType,
                                                    SelectionOrder inheritedSelectionOrder,
                                                    List<String> variableNameIncludeList)

      Parameters:
        `configPolicy` - never null
        `subPillarType` - if null, defaults to `SubPillarType.ALL` for backwards compatibility reasons.
        `subPillarSequenceComparatorClass` - if not null, will force entites in the pillar to come in this order
        `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
        `variableNameIncludeList` - sometimes null
      Returns:
        never null

    - #### inherit

          public PillarSelectorConfig inherit​(PillarSelectorConfig 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.

      Specified by:
        `inherit` in class `AbstractConfig<PillarSelectorConfig>`
      Parameters:
        `inheritedConfig` - never null
      Returns:
        this

    - #### copyConfig

          public PillarSelectorConfig copyConfig()

      Description copied from class: `AbstractConfig`
      Typically implemented by constructing a new instance and calling `AbstractConfig.inherit(AbstractConfig)` on it
      Specified by:
        `copyConfig` in class `AbstractConfig<PillarSelectorConfig>`
      Returns:
        new instance

    - #### toString

          public String toString()

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