Class AbstractNode

java.lang.Object
ai.timefold.solver.core.impl.bavet.common.AbstractNode
Direct Known Subclasses:
AbstractFlattenNode, AbstractForEachUniNode, AbstractGroupNode, AbstractMapNode, AbstractPrecomputeNode, AbstractTwoInputNode

@NullMarked public abstract class AbstractNode extends Object
See Also:
  • Constructor Details

    • AbstractNode

      public AbstractNode()
  • Method Details

    • getPropagator

      public abstract Propagator getPropagator()
      Instead of calling the propagation directly from here, we export the propagation queue and allow BavetConstraintSession to call it. This is done with the idea that Propagator only has two implementations (unlike AbstractNode with myriad implementations) and therefore JVM call site optimizations will kick in to make the method dispatch faster.
      Returns:
      never null; the PropagationQueue in use by this node
    • getStreamKind

      public abstract StreamKind getStreamKind()
    • getId

      public long getId()
    • setId

      public final void setId(long id)
    • getLocationSet

      public SortedSet<ConstraintNodeLocation> getLocationSet()
    • addLocationSet

      public void addLocationSet(Set<ConstraintNodeLocation> locationSet)
    • setLayerIndex

      public final void setLayerIndex(long layerIndex)
    • getLayerIndex

      public final long getLayerIndex()
    • toString

      public String toString()
      Overrides:
      toString in class Object