Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.1.0.CR1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

## 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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.1.0.CR1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

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