## 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<Solution_>` | 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<Solution_>` |
    `class` | `ExternalizedCollectionInverseVariableSupply<Solution_>` | Alternative to `CollectionInverseVariableListener`.
    `class` | `ExternalizedSingletonInverseVariableSupply<Solution_>` | Alternative to `SingletonInverseVariableListener`.
    `class` | `SingletonInverseVariableListener<Solution_>` |

  - ### 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<Solution_,​Entity_>` | Used to externalize data for a `Supply` from the domain model itself.

  - ### 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<Solution_,​?>,​Supply>` | VariableListenerSupport.`supplyMap` |

    Methods in org.optaplanner.core.impl.domain.variable.listener.support with type parameters of type Supply
    Modifier and Type | Method | Description
    --- | --- | ---
    `<Supply_ extends Supply> Supply_` | VariableListenerSupport.`demand​(Demand<Solution_,​Supply_> 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<Solution_,​Supply_ 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
    --- | --- | ---
    `<Supply_ extends Supply> Supply_` | SupplyManager.`demand​(Demand<Solution_,​Supply_> demand)` | Returns the `Supply` for a `Demand`, preferably an existing one.