Interface UniversalTermination<Solution_>
- All Superinterfaces:
EventListener,PhaseLifecycleListener<Solution_>,PhaseTermination<Solution_>,SolverLifecycleListener<Solution_>,SolverTermination<Solution_>,Termination<Solution_>
- All Known Implementing Classes:
BasicPlumbingTermination,ChildThreadPlumbingTermination
@NullMarked
public sealed interface UniversalTermination<Solution_>
extends PhaseTermination<Solution_>, SolverTermination<Solution_>, PhaseLifecycleListener<Solution_>
-
Method Summary
Modifier and TypeMethodDescriptionstatic <Solution_>
@Nullable UniversalTermination<Solution_>and(Termination<Solution_>... terminations) default List<PhaseTermination<Solution_>>default List<Termination<Solution_>>getPhaseTerminationsInapplicableTo(Class<? extends AbstractPhaseScope> phaseScopeClass) static <Solution_>
@Nullable UniversalTermination<Solution_>or(Termination<Solution_>... terminations) Methods inherited from interface ai.timefold.solver.core.impl.phase.event.PhaseLifecycleListener
phaseEnded, phaseStarted, stepEnded, stepStartedMethods inherited from interface ai.timefold.solver.core.impl.solver.termination.PhaseTermination
calculatePhaseTimeGradient, isApplicableTo, isPhaseTerminated, phaseEnded, phaseStarted, stepEnded, stepStartedMethods inherited from interface ai.timefold.solver.core.impl.solver.event.SolverLifecycleListener
solvingEnded, solvingError, solvingStartedMethods inherited from interface ai.timefold.solver.core.impl.solver.termination.SolverTermination
calculateSolverTimeGradient, isSolverTerminated
-
Method Details
-
getPhaseTerminationList
- Returns:
- Unmodifiable list of
PhaseTerminations that are part of this termination. If this termination is not aAbstractCompositeTermination, it returns an empty list.
-
getPhaseTerminationsInapplicableTo
default List<Termination<Solution_>> getPhaseTerminationsInapplicableTo(Class<? extends AbstractPhaseScope> phaseScopeClass) - Returns:
- Unmodifiable list of
Terminations that are part of this termination, which are not applicable to the given phase type as defined byPhaseTermination.isApplicableTo(Class). If this termination is not aAbstractCompositeTermination, it returns an empty list.
-
or
@SafeVarargs static <Solution_> @Nullable UniversalTermination<Solution_> or(Termination<Solution_>... terminations) -
and
@SafeVarargs static <Solution_> @Nullable UniversalTermination<Solution_> and(Termination<Solution_>... terminations)
-