Class FieldAccessingSolutionCloner<Solution_>
java.lang.Object
org.optaplanner.core.impl.domain.solution.cloner.FieldAccessingSolutionCloner<Solution_>
- Type Parameters:
Solution_- the solution type, the class with thePlanningSolutionannotation
- All Implemented Interfaces:
SolutionCloner<Solution_>
public final class FieldAccessingSolutionCloner<Solution_>
extends Object
implements SolutionCloner<Solution_>
-
Constructor Summary
ConstructorsConstructorDescriptionFieldAccessingSolutionCloner(SolutionDescriptor<Solution_> solutionDescriptor) -
Method Summary
Modifier and TypeMethodDescriptioncloneSolution(Solution_ originalSolution) Does a planning clone.
-
Constructor Details
-
FieldAccessingSolutionCloner
-
-
Method Details
-
cloneSolution
Description copied from interface:SolutionClonerDoes a planning clone. The returnedPlanningSolutionclone must fulfill these requirements:- The clone must represent the same planning problem.
Usually it reuses the same instances of the problem facts and problem fact collections as the
original. - The clone must have the same (equal) score as the
original. - The clone must use different, cloned instances of the entities and entity collections.
If a cloned entity changes, the original must remain unchanged.
If an entity is added or removed in a cloned
PlanningSolution, the originalPlanningSolutionmust remain unchanged.
This method is thread-safe.
- Specified by:
cloneSolutionin interfaceSolutionCloner<Solution_>- Parameters:
originalSolution- never null, the originalPlanningSolution- Returns:
- never null, the cloned
PlanningSolution
- The clone must represent the same planning problem.
Usually it reuses the same instances of the problem facts and problem fact collections as the
-