Class AbstractIfExistsNode<LeftTuple_ extends Tuple,Right_>
- java.lang.Object
-
- org.optaplanner.constraint.streams.bavet.common.AbstractNode
-
- org.optaplanner.constraint.streams.bavet.common.AbstractIfExistsNode<LeftTuple_,Right_>
-
- All Implemented Interfaces:
LeftTupleLifecycle<LeftTuple_>,RightTupleLifecycle<UniTuple<Right_>>
public abstract class AbstractIfExistsNode<LeftTuple_ extends Tuple,Right_> extends AbstractNode implements LeftTupleLifecycle<LeftTuple_>, RightTupleLifecycle<UniTuple<Right_>>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractIfExistsNode.Counter<Tuple_ extends Tuple>
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractIfExistsNode(boolean shouldExist, Function<Right_,IndexProperties> mappingRight, int inputStoreIndexLeft, int inputStoreIndexRight, TupleLifecycle<LeftTuple_> nextNodeTupleLifecycle, Indexer<LeftTuple_,AbstractIfExistsNode.Counter<LeftTuple_>> indexerLeft, Indexer<UniTuple<Right_>,Set<AbstractIfExistsNode.Counter<LeftTuple_>>> indexerRight)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcalculateScore()protected abstract IndexPropertiescreateIndexProperties(LeftTuple_ leftTuple)voidinsertLeft(LeftTuple_ leftTuple)voidinsertRight(UniTuple<Right_> rightTuple)protected abstract booleanisFiltered(LeftTuple_ leftTuple, UniTuple<Right_> rightTuple)protected abstract booleanisFiltering()voidretractLeft(LeftTuple_ leftTuple)voidretractRight(UniTuple<Right_> rightTuple)voidupdateLeft(LeftTuple_ leftTuple)voidupdateRight(UniTuple<Right_> rightTuple)
-
-
-
Constructor Detail
-
AbstractIfExistsNode
protected AbstractIfExistsNode(boolean shouldExist, Function<Right_,IndexProperties> mappingRight, int inputStoreIndexLeft, int inputStoreIndexRight, TupleLifecycle<LeftTuple_> nextNodeTupleLifecycle, Indexer<LeftTuple_,AbstractIfExistsNode.Counter<LeftTuple_>> indexerLeft, Indexer<UniTuple<Right_>,Set<AbstractIfExistsNode.Counter<LeftTuple_>>> indexerRight)
-
-
Method Detail
-
insertLeft
public final void insertLeft(LeftTuple_ leftTuple)
- Specified by:
insertLeftin interfaceLeftTupleLifecycle<LeftTuple_ extends Tuple>
-
updateLeft
public final void updateLeft(LeftTuple_ leftTuple)
- Specified by:
updateLeftin interfaceLeftTupleLifecycle<LeftTuple_ extends Tuple>
-
retractLeft
public final void retractLeft(LeftTuple_ leftTuple)
- Specified by:
retractLeftin interfaceLeftTupleLifecycle<LeftTuple_ extends Tuple>
-
updateRight
public final void updateRight(UniTuple<Right_> rightTuple)
- Specified by:
updateRightin interfaceRightTupleLifecycle<LeftTuple_ extends Tuple>
-
insertRight
public final void insertRight(UniTuple<Right_> rightTuple)
- Specified by:
insertRightin interfaceRightTupleLifecycle<LeftTuple_ extends Tuple>
-
retractRight
public final void retractRight(UniTuple<Right_> rightTuple)
- Specified by:
retractRightin interfaceRightTupleLifecycle<LeftTuple_ extends Tuple>
-
createIndexProperties
protected abstract IndexProperties createIndexProperties(LeftTuple_ leftTuple)
-
isFiltering
protected abstract boolean isFiltering()
-
isFiltered
protected abstract boolean isFiltered(LeftTuple_ leftTuple, UniTuple<Right_> rightTuple)
-
calculateScore
public void calculateScore()
- Specified by:
calculateScorein classAbstractNode
-
-