OptaPlanner core 6.2.0.Beta1

org.optaplanner.core.api.domain.variable
Annotation Type InverseRelationShadowVariable


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

Specifies that a bean property is the inverse of a PlanningVariable, which implies it's a shadow variable.

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


Required Element Summary
 String sourceVariableName
          In a bidirectional relationship, the shadow side (= the slave side) uses this property (and nothing else) to declare for which PlanningVariable (= the master side) it is a shadow.
 

Element Detail

sourceVariableName

public abstract String sourceVariableName
In a bidirectional relationship, the shadow side (= the slave side) uses this property (and nothing else) to declare for which PlanningVariable (= the master side) it is a shadow.

Both sides of a bidirectional relationship should be consistent: if A points to B then B must point to A. When the Solver changes a normal variable, it adjusts the shadow variable accordingly. In practice, the Solver ignores the shadow variables (except for consistency housekeeping).

Returns:
the variable property name on the opposite end of this bidirectional relationship

OptaPlanner core 6.2.0.Beta1

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