Class AbstractIndexedIfExistsNode<LeftTuple_ extends AbstractTuple,Right_>
java.lang.Object
ai.timefold.solver.core.impl.bavet.common.AbstractNode
ai.timefold.solver.core.impl.bavet.common.AbstractTwoInputNode<LeftTuple_,UniTuple<Right_>>
ai.timefold.solver.core.impl.bavet.common.AbstractIfExistsNode<LeftTuple_,Right_>
ai.timefold.solver.core.impl.bavet.common.AbstractIndexedIfExistsNode<LeftTuple_,Right_>
- Type Parameters:
LeftTuple_-Right_-
- All Implemented Interfaces:
LeftTupleLifecycle<LeftTuple_>,RightTupleLifecycle<UniTuple<Right_>>
- Direct Known Subclasses:
IndexedIfExistsBiNode,IndexedIfExistsQuadNode,IndexedIfExistsTriNode,IndexedIfExistsUniNode
public abstract class AbstractIndexedIfExistsNode<LeftTuple_ extends AbstractTuple,Right_>
extends AbstractIfExistsNode<LeftTuple_,Right_>
implements LeftTupleLifecycle<LeftTuple_>, RightTupleLifecycle<UniTuple<Right_>>
There is a strong likelihood that any change to this class, which is not related to indexing,
should also be made to
AbstractUnindexedIfExistsNode.-
Nested Class Summary
Nested classes/interfaces inherited from class ai.timefold.solver.core.impl.bavet.common.AbstractIfExistsNode
AbstractIfExistsNode.FilteringTracker<LeftTuple_ extends AbstractTuple> -
Field Summary
Fields inherited from class ai.timefold.solver.core.impl.bavet.common.AbstractIfExistsNode
inputStoreIndexLeftTrackerList, inputStoreIndexRightTrackerList, isFiltering, shouldExist -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractIndexedIfExistsNode(boolean shouldExist, IndexerFactory.KeysExtractor<LeftTuple_> keysExtractorLeft, IndexerFactory<Right_> indexerFactory, int inputStoreIndexLeftKeys, int inputStoreIndexLeftCounterEntry, int inputStoreIndexLeftTrackerList, int inputStoreIndexRightKeys, int inputStoreIndexRightEntry, int inputStoreIndexRightTrackerList, TupleLifecycle<LeftTuple_> nextNodesTupleLifecycle, boolean isFiltering) -
Method Summary
Modifier and TypeMethodDescriptionfinal voidinsertLeft(LeftTuple_ leftTuple) final voidinsertRight(UniTuple<Right_> rightTuple) final voidretractLeft(LeftTuple_ leftTuple) final voidretractRight(UniTuple<Right_> rightTuple) final voidupdateLeft(LeftTuple_ leftTuple) final voidupdateRight(UniTuple<Right_> rightTuple) Methods inherited from class ai.timefold.solver.core.impl.bavet.common.AbstractIfExistsNode
decrementCounterRight, getPropagator, incrementCounterRight, initCounterLeft, killCounterLeft, testFiltering, updateCounterFromLeft, updateCounterFromRight, updateCounterLeft, updateRightTrackerList, updateUnchangedCounterLeftMethods inherited from class ai.timefold.solver.core.impl.bavet.common.AbstractNode
getId, getLayerIndex, setId, setLayerIndex, toString
-
Constructor Details
-
AbstractIndexedIfExistsNode
protected AbstractIndexedIfExistsNode(boolean shouldExist, IndexerFactory.KeysExtractor<LeftTuple_> keysExtractorLeft, IndexerFactory<Right_> indexerFactory, int inputStoreIndexLeftKeys, int inputStoreIndexLeftCounterEntry, int inputStoreIndexLeftTrackerList, int inputStoreIndexRightKeys, int inputStoreIndexRightEntry, int inputStoreIndexRightTrackerList, TupleLifecycle<LeftTuple_> nextNodesTupleLifecycle, boolean isFiltering)
-
-
Method Details
-
insertLeft
- Specified by:
insertLeftin interfaceLeftTupleLifecycle<LeftTuple_ extends AbstractTuple>
-
updateLeft
- Specified by:
updateLeftin interfaceLeftTupleLifecycle<LeftTuple_ extends AbstractTuple>
-
retractLeft
- Specified by:
retractLeftin interfaceLeftTupleLifecycle<LeftTuple_ extends AbstractTuple>
-
insertRight
- Specified by:
insertRightin interfaceRightTupleLifecycle<LeftTuple_ extends AbstractTuple>
-
updateRight
- Specified by:
updateRightin interfaceRightTupleLifecycle<LeftTuple_ extends AbstractTuple>
-
retractRight
- Specified by:
retractRightin interfaceRightTupleLifecycle<LeftTuple_ extends AbstractTuple>
-