Drools :: Core 6.0.0.Beta5

org.drools.core.reteoo
Class JoinNode

java.lang.Object
  extended by org.drools.core.common.BaseNode
      extended by org.drools.core.reteoo.LeftTupleSource
          extended by org.drools.core.reteoo.BetaNode
              extended by org.drools.core.reteoo.JoinNode
All Implemented Interfaces:
Externalizable, Serializable, MemoryFactory, NetworkNode, LeftTupleSink, LeftTupleSinkNode, ObjectSink, ObjectSinkNode, RightTupleSink, Sink

public class JoinNode
extends BetaNode

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.drools.core.reteoo.BetaNode
concurrentRightTupleMemory, constraints, indexedUnificationJoin, log, objectMemory, rightInput, tupleMemoryEnabled
 
Fields inherited from class org.drools.core.reteoo.LeftTupleSource
leftInput, sink
 
Fields inherited from class org.drools.core.common.BaseNode
associations, id, partitionId, partitionsEnabled, streamMode
 
Constructor Summary
JoinNode()
           
JoinNode(int id, LeftTupleSource leftInput, ObjectSource rightInput, BetaConstraints binder, BuildContext context)
           
 
Method Summary
 void assertLeftTuple(LeftTuple leftTuple, PropagationContext context, InternalWorkingMemory workingMemory)
          Assert a new ReteTuple.
 void assertRightTuple(RightTuple rightTuple, PropagationContext context, InternalWorkingMemory workingMemory)
           
 LeftTuple createLeftTuple(InternalFactHandle factHandle, LeftTuple leftTuple, LeftTupleSink sink)
           
 LeftTuple createLeftTuple(InternalFactHandle factHandle, LeftTupleSink sink, boolean leftTupleMemoryEnabled)
           
 LeftTuple createLeftTuple(LeftTuple leftTuple, LeftTupleSink sink, PropagationContext pctx, boolean leftTupleMemoryEnabled)
           
 LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, LeftTuple currentLeftChild, LeftTuple currentRightChild, LeftTupleSink sink, boolean leftTupleMemoryEnabled)
           
 LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, LeftTupleSink sink)
           
 LeftTuple createPeer(LeftTuple original)
           
 short getType()
           
 void modifyLeftTuple(LeftTuple leftTuple, PropagationContext context, InternalWorkingMemory workingMemory)
           
 void modifyRightTuple(RightTuple rightTuple, PropagationContext context, InternalWorkingMemory workingMemory)
           
protected  void propagateFromLeft(RightTuple rightTuple, LeftTuple leftTuple, ContextEntry[] contextEntry, boolean useLeftMemory, PropagationContext context, InternalWorkingMemory workingMemory)
           
protected  void propagateFromRight(RightTuple rightTuple, LeftTuple leftTuple, BetaMemory memory, PropagationContext context, InternalWorkingMemory workingMemory)
           
protected  LeftTuple propagateOrModifyFromLeft(RightTuple rightTuple, LeftTuple leftTuple, LeftTuple childLeftTuple, ContextEntry[] contextEntry, PropagationContext context, InternalWorkingMemory workingMemory)
           
protected  LeftTuple propagateOrModifyFromRight(RightTuple rightTuple, LeftTuple leftTuple, LeftTuple childLeftTuple, BetaMemory memory, PropagationContext context, InternalWorkingMemory workingMemory)
           
 void retractLeftTuple(LeftTuple leftTuple, PropagationContext context, InternalWorkingMemory workingMemory)
           
 void retractRightTuple(RightTuple rightTuple, PropagationContext pctx, InternalWorkingMemory wm)
           
 String toString()
           
 void updateSink(LeftTupleSink sink, PropagationContext context, InternalWorkingMemory workingMemory)
           
 void updateSinkPhreak(LeftTupleSink sink, PropagationContext context, InternalWorkingMemory workingMemory)
           
 
Methods inherited from class org.drools.core.reteoo.BetaNode
assertObject, attach, byPassModifyToBetaNode, createMemory, createRightTuple, doCollectAncestors, doDeleteRightTuple, doRemove, doUpdateRightTuple, dumpMemory, equals, getBetaMemory, getBetaMemoryFromRightInput, getConstraints, getFirstLeftTuple, getFirstLeftTuple, getFirstRightTuple, getFirstRightTuple, getLeftIterator, getLeftTupleSource, getNextLeftTupleSinkNode, getNextObjectSinkNode, getObjectTypeNode, getPreviousLeftTupleSinkNode, getPreviousObjectSinkNode, getRawConstraints, getRightDeclaredMask, getRightInferredMask, getRightInput, getRightInputOtnId, getRightIterator, getRightIterator, getRightNegativeMask, getRules, hashCode, initDeclaredMask, initInferredMask, initInferredMask, isConcurrentRightTupleMemory, isIndexedUnificationJoin, isLeftTupleMemoryEnabled, isObjectMemoryEnabled, isRightInputIsRiaNode, isUnlinkingEnabled, modifyObject, networkUpdated, readExternal, setConcurrentRightTupleMemory, setConstraints, setLeftListenedProperties, setLeftTupleMemoryEnabled, setNextLeftTupleSinkNode, setNextObjectSinkNode, setObjectMemoryEnabled, setPreviousLeftTupleSinkNode, setPreviousObjectSinkNode, setRightDeclaredMask, setRightInputOtnId, setUnificationJoin, setUnlinkingEnabled, unwrapRightInput, writeExternal
 
Methods inherited from class org.drools.core.reteoo.LeftTupleSource
addTupleSink, addTupleSink, addTupleSink, doModifyLeftTuple, getLeftDeclaredMask, getLeftInferredMask, getLeftInputOtnId, getLeftNegativeMask, getObjectType, getSinkPropagator, initMasks, isInUse, modifyLeftTuple, removeTupleSink, setLeftInferredMask, setLeftInputOtnId, setLeftTupleSource
 
Methods inherited from class org.drools.core.common.BaseNode
addAssociation, attach, collectAncestors, getAssociations, getId, getPartitionId, isStreamMode, remove, removeAssociation, setId, setPartitionId
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.drools.core.reteoo.LeftTupleSink
getLeftInferredMask, getLeftInputOtnId, modifyLeftTuple, setLeftInputOtnId
 
Methods inherited from interface org.drools.core.common.NetworkNode
getAssociations, getId, getPartitionId
 
Methods inherited from interface org.drools.core.common.MemoryFactory
getId
 

Constructor Detail

JoinNode

public JoinNode()

JoinNode

public JoinNode(int id,
                LeftTupleSource leftInput,
                ObjectSource rightInput,
                BetaConstraints binder,
                BuildContext context)
Method Detail

assertLeftTuple

public void assertLeftTuple(LeftTuple leftTuple,
                            PropagationContext context,
                            InternalWorkingMemory workingMemory)
Description copied from interface: LeftTupleSink
Assert a new ReteTuple.

Parameters:
leftTuple - The ReteTuple to propagate.
context - The PropagationContext of the WorkingMemory action
workingMemory - the WorkingMemory session.

assertRightTuple

public void assertRightTuple(RightTuple rightTuple,
                             PropagationContext context,
                             InternalWorkingMemory workingMemory)
Specified by:
assertRightTuple in class BetaNode

propagateFromRight

protected void propagateFromRight(RightTuple rightTuple,
                                  LeftTuple leftTuple,
                                  BetaMemory memory,
                                  PropagationContext context,
                                  InternalWorkingMemory workingMemory)

propagateFromLeft

protected void propagateFromLeft(RightTuple rightTuple,
                                 LeftTuple leftTuple,
                                 ContextEntry[] contextEntry,
                                 boolean useLeftMemory,
                                 PropagationContext context,
                                 InternalWorkingMemory workingMemory)

retractRightTuple

public void retractRightTuple(RightTuple rightTuple,
                              PropagationContext pctx,
                              InternalWorkingMemory wm)

retractLeftTuple

public void retractLeftTuple(LeftTuple leftTuple,
                             PropagationContext context,
                             InternalWorkingMemory workingMemory)

modifyRightTuple

public void modifyRightTuple(RightTuple rightTuple,
                             PropagationContext context,
                             InternalWorkingMemory workingMemory)

propagateOrModifyFromRight

protected LeftTuple propagateOrModifyFromRight(RightTuple rightTuple,
                                               LeftTuple leftTuple,
                                               LeftTuple childLeftTuple,
                                               BetaMemory memory,
                                               PropagationContext context,
                                               InternalWorkingMemory workingMemory)

modifyLeftTuple

public void modifyLeftTuple(LeftTuple leftTuple,
                            PropagationContext context,
                            InternalWorkingMemory workingMemory)

propagateOrModifyFromLeft

protected LeftTuple propagateOrModifyFromLeft(RightTuple rightTuple,
                                              LeftTuple leftTuple,
                                              LeftTuple childLeftTuple,
                                              ContextEntry[] contextEntry,
                                              PropagationContext context,
                                              InternalWorkingMemory workingMemory)

updateSink

public void updateSink(LeftTupleSink sink,
                       PropagationContext context,
                       InternalWorkingMemory workingMemory)
Specified by:
updateSink in class LeftTupleSource

updateSinkPhreak

public void updateSinkPhreak(LeftTupleSink sink,
                             PropagationContext context,
                             InternalWorkingMemory workingMemory)

getType

public short getType()
Specified by:
getType in interface NetworkNode
Specified by:
getType in interface LeftTupleSink
Specified by:
getType in interface RightTupleSink
Specified by:
getType in class LeftTupleSource

toString

public String toString()
Overrides:
toString in class BetaNode

createPeer

public LeftTuple createPeer(LeftTuple original)
Specified by:
createPeer in interface LeftTupleSink
Specified by:
createPeer in class LeftTupleSource

createLeftTuple

public LeftTuple createLeftTuple(InternalFactHandle factHandle,
                                 LeftTupleSink sink,
                                 boolean leftTupleMemoryEnabled)

createLeftTuple

public LeftTuple createLeftTuple(InternalFactHandle factHandle,
                                 LeftTuple leftTuple,
                                 LeftTupleSink sink)

createLeftTuple

public LeftTuple createLeftTuple(LeftTuple leftTuple,
                                 LeftTupleSink sink,
                                 PropagationContext pctx,
                                 boolean leftTupleMemoryEnabled)

createLeftTuple

public LeftTuple createLeftTuple(LeftTuple leftTuple,
                                 RightTuple rightTuple,
                                 LeftTupleSink sink)

createLeftTuple

public LeftTuple createLeftTuple(LeftTuple leftTuple,
                                 RightTuple rightTuple,
                                 LeftTuple currentLeftChild,
                                 LeftTuple currentRightChild,
                                 LeftTupleSink sink,
                                 boolean leftTupleMemoryEnabled)

Drools :: Core 6.0.0.Beta5

Copyright © 2001-2013 JBoss by Red Hat. All Rights Reserved.