Class PropagationBaseObject

  • Direct Known Subclasses:
    Assignment, Constraint, IntervalVar, IntExpr, SequenceVar

    public class PropagationBaseObject
    extends BaseObject
    NOLINT
    The PropagationBaseObject is a subclass of BaseObject that is also
    friend to the Solver class. It allows accessing methods useful when
    writing new constraints or new expressions.
    • Constructor Detail

      • PropagationBaseObject

        protected PropagationBaseObject​(long cPtr,
                                        boolean cMemoryOwn)
      • PropagationBaseObject

        public PropagationBaseObject​(Solver s)
    • Method Detail

      • solver

        public Solver solver()
      • freezeQueue

        public void freezeQueue()
        This method freezes the propagation queue. It is useful when you
        need to apply multiple modifications at once.
      • unfreezeQueue

        public void unfreezeQueue()
        This method unfreezes the propagation queue. All modifications
        that happened when the queue was frozen will be processed.
      • enqueueDelayedDemon

        public void enqueueDelayedDemon​(Demon d)
        This method pushes the demon onto the propagation queue. It will
        be processed directly if the queue is empty. It will be enqueued
        according to its priority otherwise.
      • enqueueVar

        public void enqueueVar​(Demon d)
      • reset_action_on_fail

        public void reset_action_on_fail()
        This method clears the failure callback.
      • set_variable_to_clean_on_fail

        public void set_variable_to_clean_on_fail​(IntVar v)
        Shortcut for variable cleaner.
      • name

        public java.lang.String name()
        Object naming.
      • setName

        public void setName​(java.lang.String name)
      • hasName

        public boolean hasName()
        Returns whether the object has been named or not.
      • baseName

        public java.lang.String baseName()
        Returns a base name for automatic naming.