## Uses of Interface
org.optaplanner.core.impl.domain.variable.supply.Supply

- Packages that use Supply
  Package | Description
  --- | ---
  org.optaplanner.core.impl.domain.variable.anchor |
  org.optaplanner.core.impl.domain.variable.inverserelation |
  org.optaplanner.core.impl.domain.variable.listener |
  org.optaplanner.core.impl.domain.variable.listener.support |
  org.optaplanner.core.impl.domain.variable.supply |

- - ### Uses of Supply in org.optaplanner.core.impl.domain.variable.anchor

    Subinterfaces of Supply in org.optaplanner.core.impl.domain.variable.anchor
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `AnchorVariableSupply` | Only supported for chained variables.

    Classes in org.optaplanner.core.impl.domain.variable.anchor that implement Supply
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AnchorVariableListener<Solution_>` |
    `class` | `ExternalizedAnchorVariableSupply` | Alternative to `AnchorVariableListener`.

  - ### Uses of Supply in org.optaplanner.core.impl.domain.variable.inverserelation

    Subinterfaces of Supply in org.optaplanner.core.impl.domain.variable.inverserelation
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `CollectionInverseVariableSupply` |
    `interface` | `SingletonInverseVariableSupply` | Currently only supported for chained variables, which guarantee that no 2 entities use the same planningValue.

    Classes in org.optaplanner.core.impl.domain.variable.inverserelation that implement Supply
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `CollectionInverseVariableListener` |
    `class` | `ExternalizedCollectionInverseVariableSupply` | Alternative to `CollectionInverseVariableListener`.
    `class` | `ExternalizedSingletonInverseVariableSupply` | Alternative to `SingletonInverseVariableListener`.
    `class` | `SingletonInverseVariableListener` |

  - ### Uses of Supply in org.optaplanner.core.impl.domain.variable.listener

    Subinterfaces of Supply in org.optaplanner.core.impl.domain.variable.listener
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `SourcedVariableListener<Entity_>` | Often used to externalize data for a `Supply` from the domain model itself.
    `interface` | `StatefulVariableListener<Entity_>` | Deprecated. `VariableListener` can now be stateful too.
    `interface` | `VariableListener<Entity_>` | Deprecated. in favor of `VariableListener`

  - ### Uses of Supply in org.optaplanner.core.impl.domain.variable.listener.support

    Fields in org.optaplanner.core.impl.domain.variable.listener.support with type parameters of type Supply
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Map<Demand,​Supply>` | VariableListenerSupport.`supplyMap` |

    Methods in org.optaplanner.core.impl.domain.variable.listener.support with type parameters of type Supply
    Modifier and Type | Method | Description
    --- | --- | ---
    `<S extends Supply> S` | VariableListenerSupport.`demand​(Demand<S> demand)` |

  - ### Uses of Supply in org.optaplanner.core.impl.domain.variable.supply

    Classes in org.optaplanner.core.impl.domain.variable.supply with type parameters of type Supply
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `Demand<S extends Supply>` | A subsystem submits a demand for a `Supply`.

    Methods in org.optaplanner.core.impl.domain.variable.supply with type parameters of type Supply
    Modifier and Type | Method | Description
    --- | --- | ---
    `<S extends Supply> S` | SupplyManager.`demand​(Demand<S> demand)` | Returns the `Supply` for a `Demand`, preferably an existing one.