Class AbstractIndexedIfExistsNode<LeftTuple_ extends AbstractTuple,Right_>
- java.lang.Object
-
- ai.timefold.solver.constraint.streams.bavet.common.AbstractNode
-
- ai.timefold.solver.constraint.streams.bavet.common.AbstractIfExistsNode<LeftTuple_,Right_>
-
- ai.timefold.solver.constraint.streams.bavet.common.AbstractIndexedIfExistsNode<LeftTuple_,Right_>
-
- Type Parameters:
LeftTuple_-Right_-
- All Implemented Interfaces:
LeftTupleLifecycle<LeftTuple_>,RightTupleLifecycle<UniTuple<Right_>>
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 toAbstractUnindexedIfExistsNode.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ai.timefold.solver.constraint.streams.bavet.common.AbstractIfExistsNode
AbstractIfExistsNode.FilteringTracker<LeftTuple_ extends AbstractTuple>
-
-
Field Summary
-
Fields inherited from class ai.timefold.solver.constraint.streams.bavet.common.AbstractIfExistsNode
inputStoreIndexLeftTrackerList, inputStoreIndexRightTrackerList, isFiltering, shouldExist
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractIndexedIfExistsNode(boolean shouldExist, Function<Right_,IndexProperties> mappingRight, int inputStoreIndexLeftProperties, int inputStoreIndexLeftCounterEntry, int inputStoreIndexLeftTrackerList, int inputStoreIndexRightProperties, int inputStoreIndexRightEntry, int inputStoreIndexRightTrackerList, TupleLifecycle<LeftTuple_> nextNodesTupleLifecycle, Indexer<ExistsCounter<LeftTuple_>> indexerLeft, Indexer<UniTuple<Right_>> indexerRight, boolean isFiltering)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract IndexPropertiescreateIndexProperties(LeftTuple_ leftTuple)voidinsertLeft(LeftTuple_ leftTuple)voidinsertRight(UniTuple<Right_> rightTuple)voidretractLeft(LeftTuple_ leftTuple)voidretractRight(UniTuple<Right_> rightTuple)voidupdateLeft(LeftTuple_ leftTuple)voidupdateRight(UniTuple<Right_> rightTuple)-
Methods inherited from class ai.timefold.solver.constraint.streams.bavet.common.AbstractIfExistsNode
decrementCounterRight, getPropagator, incrementCounterRight, initCounterLeft, killCounterLeft, testFiltering, updateCounterFromLeft, updateCounterFromRight, updateCounterLeft, updateRightTrackerList, updateUnchangedCounterLeft
-
Methods inherited from class ai.timefold.solver.constraint.streams.bavet.common.AbstractNode
getLayerIndex, setId, setLayerIndex, toString
-
-
-
-
Constructor Detail
-
AbstractIndexedIfExistsNode
protected AbstractIndexedIfExistsNode(boolean shouldExist, Function<Right_,IndexProperties> mappingRight, int inputStoreIndexLeftProperties, int inputStoreIndexLeftCounterEntry, int inputStoreIndexLeftTrackerList, int inputStoreIndexRightProperties, int inputStoreIndexRightEntry, int inputStoreIndexRightTrackerList, TupleLifecycle<LeftTuple_> nextNodesTupleLifecycle, Indexer<ExistsCounter<LeftTuple_>> indexerLeft, Indexer<UniTuple<Right_>> indexerRight, boolean isFiltering)
-
-
Method Detail
-
insertLeft
public final void insertLeft(LeftTuple_ leftTuple)
- Specified by:
insertLeftin interfaceLeftTupleLifecycle<LeftTuple_ extends AbstractTuple>
-
updateLeft
public final void updateLeft(LeftTuple_ leftTuple)
- Specified by:
updateLeftin interfaceLeftTupleLifecycle<LeftTuple_ extends AbstractTuple>
-
retractLeft
public final void retractLeft(LeftTuple_ leftTuple)
- Specified by:
retractLeftin interfaceLeftTupleLifecycle<LeftTuple_ extends AbstractTuple>
-
insertRight
public final void insertRight(UniTuple<Right_> rightTuple)
- Specified by:
insertRightin interfaceRightTupleLifecycle<LeftTuple_ extends AbstractTuple>
-
updateRight
public final void updateRight(UniTuple<Right_> rightTuple)
- Specified by:
updateRightin interfaceRightTupleLifecycle<LeftTuple_ extends AbstractTuple>
-
retractRight
public final void retractRight(UniTuple<Right_> rightTuple)
- Specified by:
retractRightin interfaceRightTupleLifecycle<LeftTuple_ extends AbstractTuple>
-
createIndexProperties
protected abstract IndexProperties createIndexProperties(LeftTuple_ leftTuple)
-
-