OptaPlanner core 6.2.0.Beta1

org.optaplanner.core.api.domain.solution
Annotation Type PlanningSolution


@Target(value=TYPE)
@Retention(value=RUNTIME)
public @interface PlanningSolution

Specifies that the class is a planning solution. Each planning solution must have at least 1 PlanningEntityCollectionProperty or PlanningEntityProperty property.

The class should have a public no-arg constructor, so it can be cloned (unless the solutionCloner() is specified).

This annotation describes declarative properties of the planning solution. The planning solution class must also implement Solution, which is needed to get/set state.


Optional Element Summary
 Class<? extends SolutionCloner> solutionCloner
          Overrides the default PlanningSolution.NullSolutionCloner to implement a custom Solution cloning implementation.
 

solutionCloner

public abstract Class<? extends SolutionCloner> solutionCloner
Overrides the default PlanningSolution.NullSolutionCloner to implement a custom Solution cloning implementation.

If this is not specified and the Solution does not implements PlanningCloneable, the default reflection-based PlanningSolution.NullSolutionCloner is used, so you don't have to worry about it.

Returns:
PlanningSolution.NullSolutionCloner when it is null (workaround for annotation limitation)
Default:
org.optaplanner.core.api.domain.solution.PlanningSolution.NullSolutionCloner.class

OptaPlanner core 6.2.0.Beta1

Copyright © 2006-2014 JBoss by Red Hat. All Rights Reserved.