Interface MoveRepository<Solution_>

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

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

    • isNeverEnding

      boolean isNeverEnding()
    • initialize

      void initialize(Solution_ workingSolution, SupplyManager supplyManager)