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

## org.drools.planner.api.domain.variable
Annotation Type PlanningVariable

    @Target(value=METHOD)
    @Retention(value=RUNTIME)
    public @interface PlanningVariable

Specifies that a bean property should be optimized by Drools Planner.

It is specified on a getter of a java bean property of a `PlanningEntity` class.

Optional Element Summary
`Class<? extends PlanningVariableListener>[]` | `listenerClasses` Deprecated.
`Class<? extends Comparator>` | `strengthComparatorClass` Allows a collection of planning values for this variable to be sorted by strength.
`Class<? extends PlanningValueStrengthWeightFactory>` | `strengthWeightFactoryClass` Allows a collection of planning values for this variable to be sorted by strength.
`boolean` | `triggerChainCorrection` Deprecated.

### strengthComparatorClass

    public abstract Class<? extends Comparator> strengthComparatorClass

  Allows a collection of planning values for this variable to be sorted by strength.

  Do not use together with `strengthWeightFactoryClass()`.

  Returns:
    `PlanningVariable.NullStrengthComparator` when it is null (workaround for annotation limitation)
  Default:
    org.drools.planner.api.domain.variable.PlanningVariable.NullStrengthComparator.class

### strengthWeightFactoryClass

    public abstract Class<? extends PlanningValueStrengthWeightFactory> strengthWeightFactoryClass

  Allows a collection of planning values for this variable to be sorted by strength.

  Do not use together with `strengthComparatorClass()`.

  Returns:
    `PlanningVariable.NullStrengthWeightFactory` when it is null (workaround for annotation limitation)
  See Also:
    `PlanningValueStrengthWeightFactory`
  Default:
    org.drools.planner.api.domain.variable.PlanningVariable.NullStrengthWeightFactory.class

### triggerChainCorrection

    @Deprecated
    public abstract boolean triggerChainCorrection

  Deprecated.

  In some use cases, such as Vehicle Routing, planning entities are chained. When one such planning entity changes position, then chain correction should happen:
  - divert the chain link at the new position to go through the modified planning entity
  - close the missing chain link at the old position
  For example: Given A <- B <- C <- D <- X <- Y, when B moves between X and Y, pointing to X, then Y is changed to point to B and C is changed to point to A, giving the result A <- C <- D <- X <- B <- Y.

  Returns:
    true if changes to this variable need to trigger chain correction
  Default:
    false

### listenerClasses

    @Deprecated
    public abstract Class<? extends PlanningVariableListener>[] listenerClasses

  Deprecated.

  Default:
    {}

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

Copyright © 2001-2012 JBoss by Red Hat. All Rights Reserved.