Class AbstractJoinNode<LeftTuple_ extends Tuple,Right_,OutTuple_ extends Tuple,MutableOutTuple_ extends OutTuple_>
- java.lang.Object
-
- org.optaplanner.constraint.streams.bavet.common.AbstractNode
-
- org.optaplanner.constraint.streams.bavet.common.AbstractJoinNode<LeftTuple_,Right_,OutTuple_,MutableOutTuple_>
-
- All Implemented Interfaces:
LeftTupleLifecycle<LeftTuple_>,RightTupleLifecycle<UniTupleImpl<Right_>>
public abstract class AbstractJoinNode<LeftTuple_ extends Tuple,Right_,OutTuple_ extends Tuple,MutableOutTuple_ extends OutTuple_> extends AbstractNode implements LeftTupleLifecycle<LeftTuple_>, RightTupleLifecycle<UniTupleImpl<Right_>>
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractJoinNode(Function<Right_,IndexProperties> mappingRight, int inputStoreIndexLeft, int inputStoreIndexRight, TupleLifecycle<OutTuple_> nextNodesTupleLifecycle, Indexer<LeftTuple_,Map<UniTuple<Right_>,MutableOutTuple_>> indexerLeft, Indexer<UniTuple<Right_>,Map<LeftTuple_,MutableOutTuple_>> indexerRight)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcalculateScore()protected abstract IndexPropertiescreateIndexPropertiesLeft(LeftTuple_ leftTuple)protected abstract MutableOutTuple_createOutTuple(LeftTuple_ leftTuple, UniTuple<Right_> rightTuple)voidinsertLeft(LeftTuple_ leftTuple)voidinsertRight(UniTupleImpl<Right_> rightTuple)voidretractLeft(LeftTuple_ leftTuple)voidretractRight(UniTupleImpl<Right_> rightTuple)voidupdateLeft(LeftTuple_ leftTuple)protected abstract voidupdateOutTupleLeft(MutableOutTuple_ outTuple, LeftTuple_ leftTuple)protected abstract voidupdateOutTupleRight(MutableOutTuple_ outTuple, UniTuple<Right_> rightTuple)voidupdateRight(UniTupleImpl<Right_> rightTuple)
-
-
-
Constructor Detail
-
AbstractJoinNode
protected AbstractJoinNode(Function<Right_,IndexProperties> mappingRight, int inputStoreIndexLeft, int inputStoreIndexRight, TupleLifecycle<OutTuple_> nextNodesTupleLifecycle, Indexer<LeftTuple_,Map<UniTuple<Right_>,MutableOutTuple_>> indexerLeft, Indexer<UniTuple<Right_>,Map<LeftTuple_,MutableOutTuple_>> 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>
-
insertRight
public final void insertRight(UniTupleImpl<Right_> rightTuple)
- Specified by:
insertRightin interfaceRightTupleLifecycle<LeftTuple_ extends Tuple>
-
updateRight
public final void updateRight(UniTupleImpl<Right_> rightTuple)
- Specified by:
updateRightin interfaceRightTupleLifecycle<LeftTuple_ extends Tuple>
-
retractRight
public final void retractRight(UniTupleImpl<Right_> rightTuple)
- Specified by:
retractRightin interfaceRightTupleLifecycle<LeftTuple_ extends Tuple>
-
createIndexPropertiesLeft
protected abstract IndexProperties createIndexPropertiesLeft(LeftTuple_ leftTuple)
-
createOutTuple
protected abstract MutableOutTuple_ createOutTuple(LeftTuple_ leftTuple, UniTuple<Right_> rightTuple)
-
updateOutTupleLeft
protected abstract void updateOutTupleLeft(MutableOutTuple_ outTuple, LeftTuple_ leftTuple)
-
updateOutTupleRight
protected abstract void updateOutTupleRight(MutableOutTuple_ outTuple, UniTuple<Right_> rightTuple)
-
calculateScore
public void calculateScore()
- Specified by:
calculateScorein classAbstractNode
-
-