# Package org.optaplanner.core.impl.solver.termination

- Interface Summary
  Interface | Description
  --- | ---
  Termination | A Termination determines when a `Solver` or a `Phase` should stop.

- Class Summary
  Class | Description
  --- | ---
  AbstractCompositeTermination | Abstract superclass that combines multiple `Termination`s.
  AbstractTermination | Abstract superclass for `Termination`.
  AndCompositeTermination |
  BasicPlumbingTermination | Concurrency notes: Condition predicate on (`BasicPlumbingTermination.problemFactChangeQueue` is not empty or `BasicPlumbingTermination.terminatedEarly` is true).
  BestScoreFeasibleTermination |
  BestScoreTermination |
  ChildThreadPlumbingTermination |
  OrCompositeTermination |
  PhaseToSolverTerminationBridge |
  ScoreCalculationCountTermination |
  StepCountTermination |
  TimeMillisSpentTermination |
  UnimprovedStepCountTermination |
  UnimprovedTimeMillisSpentScoreDifferenceThresholdTermination |
  UnimprovedTimeMillisSpentTermination |