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(DefaultSolverScope)solving} events too of course).voidremovePhaseLifecycleListener(PhaseLifecycleListener<Solution_> phaseLifecycleListener)voidsetSolverPhaseLifecycleSupport(PhaseLifecycleSupport<Solution_> solverPhaseLifecycleSupport)Used to makeAbstractSolver.addPhaseLifecycleListener(PhaseLifecycleListener)work.voidsolve(DefaultSolverScope<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
- 
setSolverPhaseLifecycleSupport
void setSolverPhaseLifecycleSupport(PhaseLifecycleSupport<Solution_> solverPhaseLifecycleSupport)
Used to makeAbstractSolver.addPhaseLifecycleListener(PhaseLifecycleListener)work.- Parameters:
 solverPhaseLifecycleSupport- never null
 
- 
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(DefaultSolverScope)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(DefaultSolverScope<Solution_> solverScope)
 
 - 
 
 -