Interface AbstractVariableListener<Solution_,Entity_>

Type Parameters:
Solution_ - the solution type, the class with the PlanningSolution annotation
Entity_ - PlanningEntity on which the source variable is declared
All Superinterfaces:
AutoCloseable, Closeable
All Known Subinterfaces:
CustomShadowVariable.NullVariableListener, ListVariableListener<Solution_,Entity_,Element_>, ListVariableStateSupply<Solution_>, ShadowVariable.NullVariableListener, SourcedVariableListener<Solution_>, VariableListener<Solution_,Entity_>
All Known Implementing Classes:
AnchorVariableListener, CollectionInverseVariableListener, ExternalizedAnchorVariableSupply, ExternalizedCollectionInverseVariableSupply, ExternalizedSingletonInverseVariableSupply, ListVariableTracker, SingletonInverseVariableListener, VariableTracker

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(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Entity_ entity)
    • afterEntityAdded

      void afterEntityAdded(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Entity_ entity)
    • beforeEntityRemoved

      void beforeEntityRemoved(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Entity_ entity)
    • afterEntityRemoved

      void afterEntityRemoved(@NonNull ScoreDirector<Solution_> scoreDirector, @NonNull Entity_ entity)
    • resetWorkingSolution

      default void resetWorkingSolution(@NonNull 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.
    • 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