Package org.drools.core.reteoo
Class FromNode<T extends FromNode.FromMemory>
- java.lang.Object
-
- org.drools.core.common.BaseNode
-
- org.drools.core.reteoo.LeftTupleSource
-
- org.drools.core.reteoo.FromNode<T>
-
- All Implemented Interfaces:
java.io.Serializable
,org.drools.base.common.NetworkNode
,MemoryFactory<T>
,LeftTupleNode
,LeftTupleSink
,LeftTupleSinkNode
,Sink
- Direct Known Subclasses:
ReactiveFromNode
public class FromNode<T extends FromNode.FromMemory> extends LeftTupleSource implements LeftTupleSinkNode, MemoryFactory<T>
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FromNode.FromMemory
-
Field Summary
Fields Modifier and Type Field Description protected org.drools.base.rule.constraint.AlphaNodeFieldConstraint[]
alphaConstraints
protected BetaConstraints
betaConstraints
protected org.drools.base.rule.accessor.DataProvider
dataProvider
protected org.drools.base.rule.From
from
protected LeftTupleSinkNode
nextTupleSinkNode
protected ObjectTypeConf
objectTypeConf
protected LeftTupleSinkNode
previousTupleSinkNode
protected boolean
tupleMemoryEnabled
-
Fields inherited from class org.drools.core.reteoo.LeftTupleSource
leftDeclaredMask, leftInferredMask, leftInput, leftNegativeMask, sink
-
Fields inherited from class org.drools.core.common.BaseNode
associations, hashcode, id, memoryId, partitionId, partitionsEnabled
-
-
Constructor Summary
Constructors Constructor Description FromNode()
FromNode(int id, org.drools.base.rule.accessor.DataProvider dataProvider, LeftTupleSource tupleSource, org.drools.base.rule.constraint.AlphaNodeFieldConstraint[] constraints, BetaConstraints binder, boolean tupleMemoryEnabled, BuildContext context, org.drools.base.rule.From from)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addToCreatedHandlesMap(java.util.Map<java.lang.Object,RightTuple> matches, RightTuple rightTuple)
InternalFactHandle
createFactHandle(ReteEvaluator reteEvaluator, java.lang.Object object)
LeftTuple
createLeftTuple(InternalFactHandle factHandle, boolean leftTupleMemoryEnabled)
LeftTuple
createLeftTuple(InternalFactHandle factHandle, LeftTuple leftTuple, Sink sink)
LeftTuple
createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, LeftTuple currentLeftChild, LeftTuple currentRightChild, Sink sink, boolean leftTupleMemoryEnabled)
LeftTuple
createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, Sink sink)
LeftTuple
createLeftTuple(LeftTuple leftTuple, Sink sink, PropagationContext pctx, boolean leftTupleMemoryEnabled)
T
createMemory(RuleBaseConfiguration config, ReteEvaluator reteEvaluator)
LeftTuple
createPeer(LeftTuple original)
RightTuple
createRightTuple(LeftTuple leftTuple, PropagationContext context, ReteEvaluator reteEvaluator, java.lang.Object object)
void
doAttach(BuildContext context)
protected boolean
doRemove(RuleRemovalContext context, ReteooBuilder builder)
Removes the node from the network.boolean
equals(java.lang.Object object)
org.drools.base.rule.constraint.AlphaNodeFieldConstraint[]
getAlphaConstraints()
BetaConstraints
getBetaConstraints()
org.drools.base.rule.accessor.DataProvider
getDataProvider()
protected org.drools.base.rule.Pattern
getLeftInputPattern(BuildContext context)
LeftTupleSinkNode
getNextLeftTupleSinkNode()
Returns the next nodeObjectTypeNode
getObjectTypeNode()
LeftTupleSinkNode
getPreviousLeftTupleSinkNode()
Returns the previous nodejava.lang.Class<?>
getResultClass()
short
getType()
protected void
initDeclaredMask(BuildContext context, LeftTupleSource leftInput)
boolean
isLeftTupleMemoryEnabled()
void
networkUpdated(UpdateContext updateContext)
A method that is called for all nodes whose network below them changed, after the change is complete, providing them with an opportunity for state updatevoid
setNextLeftTupleSinkNode(LeftTupleSinkNode next)
Sets the next nodeprotected org.drools.core.util.bitmask.BitMask
setNodeConstraintsPropertyReactiveMask(org.drools.core.util.bitmask.BitMask mask, org.drools.base.base.ObjectType objectType, java.util.List<java.lang.String> accessibleProperties)
void
setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
Sets the previous node-
Methods inherited from class org.drools.core.reteoo.LeftTupleSource
addTupleSink, addTupleSink, addTupleSink, getFirstLeftTupleSinkIgnoreRemoving, getLeftDeclaredMask, getLeftInferredMask, getLeftInputOtnId, getLeftNegativeMask, getLeftTupleSource, getObjectCount, getObjectType, getObjectTypeForPropertyReactivity, getPathIndex, getSinkPropagator, initInferredMask, initMasks, isInUse, removeTupleSink, setLeftInferredMask, setLeftInputOtnId, setLeftListenedProperties, setLeftTupleSource, setObjectCount, setPartitionIdWithSinks, setSourcePartitionId, setSourcePartitionId
-
Methods inherited from class org.drools.core.common.BaseNode
addAssociatedTerminal, addAssociation, addAssociation, attach, getAssociatedRules, getAssociatedTerminalsSize, getAssociationsSize, getId, getMemoryId, getPartitionId, getSinks, hasAssociatedTerminal, hashCode, initMemoryId, isAssociatedWith, isStreamMode, remove, removeAssociatedTerminal, removeAssociation, setId, setPartitionId, setPartitionsEnabled, setStreamMode, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.drools.core.reteoo.LeftTupleNode
getLeftTupleSource, getObjectCount, getPathIndex, getSinkPropagator, setObjectCount
-
Methods inherited from interface org.drools.core.reteoo.LeftTupleSink
getLeftInferredMask, getLeftInputOtnId, setLeftInputOtnId, setPartitionIdWithSinks
-
Methods inherited from interface org.drools.core.common.MemoryFactory
getMemoryId
-
-
-
-
Field Detail
-
dataProvider
protected org.drools.base.rule.accessor.DataProvider dataProvider
-
alphaConstraints
protected org.drools.base.rule.constraint.AlphaNodeFieldConstraint[] alphaConstraints
-
betaConstraints
protected BetaConstraints betaConstraints
-
previousTupleSinkNode
protected LeftTupleSinkNode previousTupleSinkNode
-
nextTupleSinkNode
protected LeftTupleSinkNode nextTupleSinkNode
-
from
protected org.drools.base.rule.From from
-
tupleMemoryEnabled
protected boolean tupleMemoryEnabled
-
objectTypeConf
protected transient ObjectTypeConf objectTypeConf
-
-
Constructor Detail
-
FromNode
public FromNode()
-
FromNode
public FromNode(int id, org.drools.base.rule.accessor.DataProvider dataProvider, LeftTupleSource tupleSource, org.drools.base.rule.constraint.AlphaNodeFieldConstraint[] constraints, BetaConstraints binder, boolean tupleMemoryEnabled, BuildContext context, org.drools.base.rule.From from)
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equals
in classjava.lang.Object
-
getDataProvider
public org.drools.base.rule.accessor.DataProvider getDataProvider()
-
getAlphaConstraints
public org.drools.base.rule.constraint.AlphaNodeFieldConstraint[] getAlphaConstraints()
-
getBetaConstraints
public BetaConstraints getBetaConstraints()
-
initDeclaredMask
protected void initDeclaredMask(BuildContext context, LeftTupleSource leftInput)
- Overrides:
initDeclaredMask
in classLeftTupleSource
-
getLeftInputPattern
protected org.drools.base.rule.Pattern getLeftInputPattern(BuildContext context)
- Overrides:
getLeftInputPattern
in classLeftTupleSource
-
setNodeConstraintsPropertyReactiveMask
protected org.drools.core.util.bitmask.BitMask setNodeConstraintsPropertyReactiveMask(org.drools.core.util.bitmask.BitMask mask, org.drools.base.base.ObjectType objectType, java.util.List<java.lang.String> accessibleProperties)
- Overrides:
setNodeConstraintsPropertyReactiveMask
in classLeftTupleSource
-
getResultClass
public java.lang.Class<?> getResultClass()
-
networkUpdated
public void networkUpdated(UpdateContext updateContext)
Description copied from class:BaseNode
A method that is called for all nodes whose network below them changed, after the change is complete, providing them with an opportunity for state update- Specified by:
networkUpdated
in classBaseNode
-
createRightTuple
public RightTuple createRightTuple(LeftTuple leftTuple, PropagationContext context, ReteEvaluator reteEvaluator, java.lang.Object object)
-
createFactHandle
public InternalFactHandle createFactHandle(ReteEvaluator reteEvaluator, java.lang.Object object)
-
addToCreatedHandlesMap
public void addToCreatedHandlesMap(java.util.Map<java.lang.Object,RightTuple> matches, RightTuple rightTuple)
-
createMemory
public T createMemory(RuleBaseConfiguration config, ReteEvaluator reteEvaluator)
- Specified by:
createMemory
in interfaceMemoryFactory<T extends FromNode.FromMemory>
-
createPeer
public LeftTuple createPeer(LeftTuple original)
- Specified by:
createPeer
in interfaceLeftTupleSink
- Specified by:
createPeer
in classLeftTupleSource
-
isLeftTupleMemoryEnabled
public boolean isLeftTupleMemoryEnabled()
- Specified by:
isLeftTupleMemoryEnabled
in interfaceLeftTupleSink
- Specified by:
isLeftTupleMemoryEnabled
in classLeftTupleSource
-
getNextLeftTupleSinkNode
public LeftTupleSinkNode getNextLeftTupleSinkNode()
Returns the next node- Specified by:
getNextLeftTupleSinkNode
in interfaceLeftTupleSinkNode
- Returns:
- The next TupleSinkNode
-
setNextLeftTupleSinkNode
public void setNextLeftTupleSinkNode(LeftTupleSinkNode next)
Sets the next node- Specified by:
setNextLeftTupleSinkNode
in interfaceLeftTupleSinkNode
- Parameters:
next
- The next TupleSinkNode
-
getPreviousLeftTupleSinkNode
public LeftTupleSinkNode getPreviousLeftTupleSinkNode()
Returns the previous node- Specified by:
getPreviousLeftTupleSinkNode
in interfaceLeftTupleSinkNode
- Returns:
- The previous TupleSinkNode
-
setPreviousLeftTupleSinkNode
public void setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
Sets the previous node- Specified by:
setPreviousLeftTupleSinkNode
in interfaceLeftTupleSinkNode
- Parameters:
previous
- The previous TupleSinkNode
-
getType
public short getType()
- Specified by:
getType
in interfaceorg.drools.base.common.NetworkNode
- Specified by:
getType
in classLeftTupleSource
-
createLeftTuple
public LeftTuple createLeftTuple(InternalFactHandle factHandle, boolean leftTupleMemoryEnabled)
- Specified by:
createLeftTuple
in interfaceLeftTupleSink
-
createLeftTuple
public LeftTuple createLeftTuple(InternalFactHandle factHandle, LeftTuple leftTuple, Sink sink)
- Specified by:
createLeftTuple
in interfaceLeftTupleSink
-
createLeftTuple
public LeftTuple createLeftTuple(LeftTuple leftTuple, Sink sink, PropagationContext pctx, boolean leftTupleMemoryEnabled)
- Specified by:
createLeftTuple
in interfaceLeftTupleSink
-
createLeftTuple
public LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, Sink sink)
- Specified by:
createLeftTuple
in interfaceLeftTupleSink
-
createLeftTuple
public LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, LeftTuple currentLeftChild, LeftTuple currentRightChild, Sink sink, boolean leftTupleMemoryEnabled)
- Specified by:
createLeftTuple
in interfaceLeftTupleSink
-
getObjectTypeNode
public ObjectTypeNode getObjectTypeNode()
- Specified by:
getObjectTypeNode
in classBaseNode
-
doAttach
public void doAttach(BuildContext context)
-
doRemove
protected boolean doRemove(RuleRemovalContext context, ReteooBuilder builder)
Description copied from class:BaseNode
Removes the node from the network. Usually from the parentObjectSource
orTupleSource
-
-