org.optaplanner.core.impl.domain.variable.inverserelation

## Class ExternalizedCollectionInverseVariableSupply

- java.lang.Object
- - org.optaplanner.core.impl.domain.variable.inverserelation.ExternalizedCollectionInverseVariableSupply

- All Implemented Interfaces:
    Closeable, AutoCloseable, VariableListener<Object>, CollectionInverseVariableSupply, SourcedVariableListener<Object>, StatefulVariableListener<Object>, Supply

      public class ExternalizedCollectionInverseVariableSupply
      extends Object
      implements SourcedVariableListener<Object>, CollectionInverseVariableSupply

  Alternative to `CollectionInverseVariableListener`.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Map<Object,Set<Object>>` | `inverseEntitySetMap`
    `protected VariableDescriptor` | `sourceVariableDescriptor`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExternalizedCollectionInverseVariableSupply(VariableDescriptor sourceVariableDescriptor)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `afterEntityAdded(ScoreDirector scoreDirector, Object entity)`
    `void` | `afterEntityRemoved(ScoreDirector scoreDirector, Object entity)`
    `void` | `afterVariableChanged(ScoreDirector scoreDirector, Object entity)`
    `void` | `beforeEntityAdded(ScoreDirector scoreDirector, Object entity)`
    `void` | `beforeEntityRemoved(ScoreDirector scoreDirector, Object entity)`
    `void` | `beforeVariableChanged(ScoreDirector scoreDirector, Object entity)`
    `void` | `clearWorkingSolution(ScoreDirector scoreDirector)`
    `Collection<?>` | `getInverseCollection(Object value)` If entity1.varA = x then an inverse of x is entity1.
    `VariableDescriptor` | `getSourceVariableDescriptor()`
    `protected void` | `insert(ScoreDirector scoreDirector, Object entity)`
    `void` | `resetWorkingSolution(ScoreDirector scoreDirector)` Called when the entire working solution changes.
    `protected void` | `retract(ScoreDirector scoreDirector, Object entity)`
    `String` | `toString()`

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

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

    - ### Methods inherited from interface org.optaplanner.core.impl.domain.variable.listener.VariableListener

      `requiresUniqueEntityEvents`

    - ### Methods inherited from interface org.optaplanner.core.api.domain.variable.VariableListener

      `close`

- - ### Field Detail

    - #### sourceVariableDescriptor

          protected final VariableDescriptor sourceVariableDescriptor

    - #### inverseEntitySetMap

          protected Map<Object,Set<Object>> inverseEntitySetMap

  - ### Constructor Detail

    - #### ExternalizedCollectionInverseVariableSupply

          public ExternalizedCollectionInverseVariableSupply(VariableDescriptor sourceVariableDescriptor)

  - ### Method Detail

    - #### getSourceVariableDescriptor

          public VariableDescriptor getSourceVariableDescriptor()

      Specified by:
        `getSourceVariableDescriptor` in interface `SourcedVariableListener<Object>`
      Specified by:
        `getSourceVariableDescriptor` in interface `StatefulVariableListener<Object>`

    - #### resetWorkingSolution

          public void resetWorkingSolution(ScoreDirector scoreDirector)

      Description copied from interface: `VariableListener`
      Called when the entire working solution changes. In this event, the other before..()/after...() methods will not be called. At this point, implementations should clear state, if any.
      Specified by:
        `resetWorkingSolution` in interface `VariableListener<Object>`
      Specified by:
        `resetWorkingSolution` in interface `StatefulVariableListener<Object>`
      Parameters:
        `scoreDirector` - never null

    - #### clearWorkingSolution

          public void clearWorkingSolution(ScoreDirector scoreDirector)

      Specified by:
        `clearWorkingSolution` in interface `StatefulVariableListener<Object>`

    - #### beforeEntityAdded

          public void beforeEntityAdded(ScoreDirector scoreDirector,
                                        Object entity)

      Specified by:
        `beforeEntityAdded` in interface `VariableListener<Object>`
      Parameters:
        `scoreDirector` - never null
        `entity` - never null

    - #### afterEntityAdded

          public void afterEntityAdded(ScoreDirector scoreDirector,
                                       Object entity)

      Specified by:
        `afterEntityAdded` in interface `VariableListener<Object>`
      Parameters:
        `scoreDirector` - never null
        `entity` - never null

    - #### beforeVariableChanged

          public void beforeVariableChanged(ScoreDirector scoreDirector,
                                            Object entity)

      Specified by:
        `beforeVariableChanged` in interface `VariableListener<Object>`
      Parameters:
        `scoreDirector` - never null
        `entity` - never null

    - #### afterVariableChanged

          public void afterVariableChanged(ScoreDirector scoreDirector,
                                           Object entity)

      Specified by:
        `afterVariableChanged` in interface `VariableListener<Object>`
      Parameters:
        `scoreDirector` - never null
        `entity` - never null

    - #### beforeEntityRemoved

          public void beforeEntityRemoved(ScoreDirector scoreDirector,
                                          Object entity)

      Specified by:
        `beforeEntityRemoved` in interface `VariableListener<Object>`
      Parameters:
        `scoreDirector` - never null
        `entity` - never null

    - #### afterEntityRemoved

          public void afterEntityRemoved(ScoreDirector scoreDirector,
                                         Object entity)

      Specified by:
        `afterEntityRemoved` in interface `VariableListener<Object>`
      Parameters:
        `scoreDirector` - never null
        `entity` - never null

    - #### insert

          protected void insert(ScoreDirector scoreDirector,
                                Object entity)

    - #### retract

          protected void retract(ScoreDirector scoreDirector,
                                 Object entity)

    - #### getInverseCollection

          public Collection<?> getInverseCollection(Object value)

      Description copied from interface: `CollectionInverseVariableSupply`
      If entity1.varA = x then an inverse of x is entity1.
      Specified by:
        `getInverseCollection` in interface `CollectionInverseVariableSupply`
      Parameters:
        `value` - never null
      Returns:
        never null, a `Collection` of entities for which the planning variable is the planningValue.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

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