Interface MoveRepository<Solution_>

Type Parameters:
Solution_ -
All Superinterfaces:
EventListener, Iterable<Move<Solution_>>, PhaseLifecycleListener<Solution_>, SolverLifecycleListener<Solution_>
All Known Implementing Classes:
MoveSelectorBasedMoveRepository, NeighborhoodsBasedMoveRepository, PlacerBasedMoveRepository

@NullMarked public sealed interface MoveRepository<Solution_> extends Iterable<Move<Solution_>>, PhaseLifecycleListener<Solution_> permits NeighborhoodsBasedMoveRepository<Solution_>, MoveSelectorBasedMoveRepository<Solution_>, PlacerBasedMoveRepository<Solution_>
This is a shared abstraction for all three types of move iterators currently used in the solver: As the Neighborhoods API becomes gradually more capable, these extra implementations will be removed until only NeighborhoodsBasedMoveRepository remains in use. At this point, this entire abstraction will be removed, and all code will work with Neighborhoods directly.
  • Method Details