Interface AbstractVariableListener<Solution_,Entity_>

Type Parameters:
Solution_ - the solution type, the class with the PlanningSolution annotation
Entity_ -
All Superinterfaces:
AutoCloseable, Closeable
All Known Subinterfaces:
CustomShadowVariable.NullVariableListener, ListVariableListener<Solution_,Entity_,Element_>, SourcedVariableListener<Solution_>, VariableListener<Solution_,Entity_>
All Known Implementing Classes:
AnchorVariableListener, CollectionInverseVariableListener, ExternalizedAnchorVariableSupply, ExternalizedCollectionInverseVariableSupply, ExternalizedIndexVariableSupply, ExternalizedSingletonInverseVariableSupply, ExternalizedSingletonListInverseVariableSupply, IndexVariableListener, NextElementVariableListener, PreviousElementVariableListener, SingletonInverseVariableListener, SingletonListInverseVariableListener

public interface AbstractVariableListener<Solution_,Entity_> extends Closeable
Common ancestor for specialized planning variable listeners.

Do not implement this interface directly. Implement either VariableListener or ListVariableListener.

See Also:
  • Method Details

    • beforeEntityAdded

      void beforeEntityAdded(ScoreDirector<Solution_> scoreDirector, Entity_ entity)
      Parameters:
      scoreDirector - never null
      entity - never null
    • afterEntityAdded

      void afterEntityAdded(ScoreDirector<Solution_> scoreDirector, Entity_ entity)
      Parameters:
      scoreDirector - never null
      entity - never null
    • beforeEntityRemoved

      void beforeEntityRemoved(ScoreDirector<Solution_> scoreDirector, Entity_ entity)
      Parameters:
      scoreDirector - never null
      entity - never null
    • afterEntityRemoved

      void afterEntityRemoved(ScoreDirector<Solution_> scoreDirector, Entity_ entity)
      Parameters:
      scoreDirector - never null
      entity - never null
    • resetWorkingSolution

      default void resetWorkingSolution(ScoreDirector<Solution_> scoreDirector)
      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.
      Parameters:
      scoreDirector - never null
    • close

      default void close()
      Called before this AbstractVariableListener is thrown away and not used anymore.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable