Class ShadowVariableDescriptor<Solution_>

java.lang.Object
ai.timefold.solver.core.impl.domain.variable.descriptor.VariableDescriptor<Solution_>
ai.timefold.solver.core.impl.domain.variable.descriptor.ShadowVariableDescriptor<Solution_>
Type Parameters:
Solution_ - the solution type, the class with the PlanningSolution annotation
Direct Known Subclasses:
AnchorShadowVariableDescriptor, CascadingUpdateShadowVariableDescriptor, CustomShadowVariableDescriptor, DeclarativeShadowVariableDescriptor, IndexShadowVariableDescriptor, InverseRelationShadowVariableDescriptor, LegacyCustomShadowVariableDescriptor, NextElementShadowVariableDescriptor, PiggybackShadowVariableDescriptor, PreviousElementShadowVariableDescriptor, ShadowVariableLoopedVariableDescriptor

public abstract class ShadowVariableDescriptor<Solution_> extends VariableDescriptor<Solution_>
  • Constructor Details

  • Method Details

    • getGlobalShadowOrder

      public int getGlobalShadowOrder()
    • setGlobalShadowOrder

      public void setGlobalShadowOrder(int globalShadowOrder)
    • processAnnotations

      public abstract void processAnnotations(DescriptorPolicy descriptorPolicy)
    • getSourceVariableDescriptorList

      public abstract List<VariableDescriptor<Solution_>> getSourceVariableDescriptorList()
      Returns:
      never null, only variables affect this shadow variable directly
    • getVariableListenerClasses

      public abstract Collection<Class<? extends AbstractVariableListener>> getVariableListenerClasses()
    • getProvidedDemand

      public abstract Demand<?> getProvidedDemand()
      Returns:
      never null
    • hasVariableListener

      public boolean hasVariableListener()
    • isListVariableSource

      public abstract boolean isListVariableSource()
      return true if the source variable is a list variable; otherwise, return false.
    • buildVariableListeners

      public abstract Iterable<VariableListenerWithSources<Solution_>> buildVariableListeners(SupplyManager supplyManager)
      Parameters:
      supplyManager - never null
      Returns:
      never null
    • toString

      public String toString()
      Overrides:
      toString in class Object