Class AbstractIndexedIfExistsNode<LeftTuple_ extends Tuple,Right_>
java.lang.Object
org.optaplanner.constraint.streams.bavet.common.AbstractNode
org.optaplanner.constraint.streams.bavet.common.AbstractIfExistsNode<LeftTuple_,Right_>
org.optaplanner.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 Tuple,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 org.optaplanner.constraint.streams.bavet.common.AbstractIfExistsNode
AbstractIfExistsNode.FilteringTracker<LeftTuple_ extends Tuple> -
Field Summary
Fields inherited from class org.optaplanner.constraint.streams.bavet.common.AbstractIfExistsNode
dirtyCounterQueue, inputStoreIndexLeftTrackerList, inputStoreIndexRightTrackerList, isFiltering, shouldExist -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractIndexedIfExistsNode(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
Modifier and TypeMethodDescriptionprotected abstract IndexPropertiescreateIndexProperties(LeftTuple_ leftTuple) final 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 org.optaplanner.constraint.streams.bavet.common.AbstractIfExistsNode
calculateScore, decrementCounterRight, incrementCounterRight, initCounterLeft, killCounterLeft, testFiltering, updateCounterFromLeft, updateCounterFromRight, updateCounterLeft, updateRightTrackerList, updateUnchangedCounterLeftMethods inherited from class org.optaplanner.constraint.streams.bavet.common.AbstractNode
setId, toString
-
Constructor Details
-
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 Details
-
insertLeft
- Specified by:
insertLeftin interfaceLeftTupleLifecycle<LeftTuple_ extends Tuple>
-
updateLeft
- Specified by:
updateLeftin interfaceLeftTupleLifecycle<LeftTuple_ extends Tuple>
-
retractLeft
- Specified by:
retractLeftin interfaceLeftTupleLifecycle<LeftTuple_ extends Tuple>
-
insertRight
- Specified by:
insertRightin interfaceRightTupleLifecycle<LeftTuple_ extends Tuple>
-
updateRight
- Specified by:
updateRightin interfaceRightTupleLifecycle<LeftTuple_ extends Tuple>
-
retractRight
- Specified by:
retractRightin interfaceRightTupleLifecycle<LeftTuple_ extends Tuple>
-
createIndexProperties
-