Package org.optaplanner.core.impl.phase
Interface Phase<Solution_>
-
- Type Parameters:
Solution_- the solution type, the class with thePlanningSolutionannotation
- All Superinterfaces:
EventListener,PhaseLifecycleListener<Solution_>,SolverLifecycleListener<Solution_>
- All Known Subinterfaces:
ConstructionHeuristicPhase<Solution_>,CustomPhase<Solution_>,ExhaustiveSearchPhase<Solution_>,LocalSearchPhase<Solution_>,PartitionedSearchPhase<Solution_>
- All Known Implementing Classes:
AbstractPhase,DefaultConstructionHeuristicPhase,DefaultCustomPhase,DefaultExhaustiveSearchPhase,DefaultLocalSearchPhase,DefaultPartitionedSearchPhase,NoChangePhase
public interface Phase<Solution_> extends PhaseLifecycleListener<Solution_>
A phase of aSolver.- See Also:
AbstractPhase
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddPhaseLifecycleListener(PhaseLifecycleListener<Solution_> phaseLifecycleListener)Add aPhaseLifecycleListenerthat is only notified of thephaseand thePhaseLifecycleListener.stepStarted(AbstractStepScope)step} starting/ending events from this phase (and theSolverLifecycleListener.solvingStarted(SolverScope)solving} events too of course).voidremovePhaseLifecycleListener(PhaseLifecycleListener<Solution_> phaseLifecycleListener)voidsolve(SolverScope<Solution_> solverScope)-
Methods inherited from interface org.optaplanner.core.impl.phase.event.PhaseLifecycleListener
phaseEnded, phaseStarted, stepEnded, stepStarted
-
Methods inherited from interface org.optaplanner.core.impl.solver.event.SolverLifecycleListener
solvingEnded, solvingStarted
-
-
-
-
Method Detail
-
addPhaseLifecycleListener
void addPhaseLifecycleListener(PhaseLifecycleListener<Solution_> phaseLifecycleListener)
Add aPhaseLifecycleListenerthat is only notified of thephaseand thePhaseLifecycleListener.stepStarted(AbstractStepScope)step} starting/ending events from this phase (and theSolverLifecycleListener.solvingStarted(SolverScope)solving} events too of course).To get notified for all phases, use
AbstractSolver.addPhaseLifecycleListener(PhaseLifecycleListener)instead.- Parameters:
phaseLifecycleListener- never null
-
removePhaseLifecycleListener
void removePhaseLifecycleListener(PhaseLifecycleListener<Solution_> phaseLifecycleListener)
- Parameters:
phaseLifecycleListener- never null- See Also:
addPhaseLifecycleListener(PhaseLifecycleListener)
-
solve
void solve(SolverScope<Solution_> solverScope)
-
-