Annotation Interface PiggybackShadowVariable


@Target({METHOD,FIELD}) @Retention(RUNTIME) @Deprecated(since="1.28.0", forRemoval=true) public @interface PiggybackShadowVariable
Deprecated, for removal: This API element is subject to removal in a future version.
Use a supplier with sources instead.
Specifies that a bean property (or a field) is a custom shadow variable that is updated by another shadow variable's variable listener.

It is specified on a getter of a java bean property (or a field) of a PlanningEntity class.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
    Deprecated, for removal: This API element is subject to removal in a future version.
    Workaround for annotation limitation in shadowEntityClass().
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    Deprecated, for removal: This API element is subject to removal in a future version.
    The shadow variable name.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Deprecated, for removal: This API element is subject to removal in a future version.
    The PlanningEntity class of the shadow variable with a variable listener.
  • Element Details

    • shadowVariableName

      String shadowVariableName
      Deprecated, for removal: This API element is subject to removal in a future version.
      The shadow variable name.
      Returns:
      never null, a genuine or shadow variable name
    • shadowEntityClass

      Class<?> shadowEntityClass
      Deprecated, for removal: This API element is subject to removal in a future version.
      The PlanningEntity class of the shadow variable with a variable listener.

      Specified if the referenced shadow variable is on a different Class than the class that uses this annotation.

      Returns:
      PiggybackShadowVariable.NullEntityClass when it is null (workaround for annotation limitation). Defaults to the same Class as the one that uses this annotation.
      Default:
      ai.timefold.solver.core.api.domain.variable.PiggybackShadowVariable.NullEntityClass.class