org.drools.core.reteoo
Class QueryElementNode
java.lang.Object
org.drools.core.common.BaseNode
org.drools.core.reteoo.LeftTupleSource
org.drools.core.reteoo.QueryElementNode
- All Implemented Interfaces:
- Externalizable, Serializable, MemoryFactory, NetworkNode, LeftTupleSink, LeftTupleSinkNode, Sink
public class QueryElementNode
- extends LeftTupleSource
- implements LeftTupleSinkNode, MemoryFactory
- See Also:
- Serialized Form
|
Method Summary |
void |
assertLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
Assert a new ReteTuple. |
void |
attach(BuildContext context)
Attaches the node into the network. |
protected QueryElementNode.UnificationNodeViewChangedEventListener |
createCollector(LeftTuple leftTuple,
int[] varIndexes,
boolean tupleMemoryEnabled)
|
DroolsQuery |
createDroolsQuery(LeftTuple leftTuple,
InternalFactHandle handle,
StackEntry stackEntry,
List<PathMemory> pmems,
QueryElementNode.QueryElementNodeMemory qmem,
LeftTupleSets trgLeftTuples,
LeftTupleSink sink,
InternalWorkingMemory workingMemory)
|
InternalFactHandle |
createFactHandle(PropagationContext context,
InternalWorkingMemory workingMemory,
LeftTuple leftTuple)
|
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)
|
Memory |
createMemory(RuleBaseConfiguration config,
InternalWorkingMemory wm)
|
LeftTuple |
createPeer(LeftTuple original)
|
protected void |
doRemove(RuleRemovalContext context,
ReteooBuilder builder,
InternalWorkingMemory[] workingMemories)
Removes the node from teh network. |
boolean |
equals(Object obj)
|
LeftTupleSource |
getLeftTupleSource()
|
LeftTupleSinkNode |
getNextLeftTupleSinkNode()
Returns the next node |
protected ObjectTypeNode |
getObjectTypeNode()
|
LeftTupleSinkNode |
getPreviousLeftTupleSinkNode()
Returns the previous node |
QueryElement |
getQueryElement()
|
short |
getType()
|
int |
hashCode()
The hashCode return is simply the unique id of the node. |
boolean |
isLeftTupleMemoryEnabled()
|
boolean |
isOpenQuery()
|
void |
modifyLeftTuple(InternalFactHandle factHandle,
ModifyPreviousTuples modifyPreviousTuples,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
void |
modifyLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
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 oportunity
for state update |
void |
readExternal(ObjectInput in)
|
void |
retractLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
void |
setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
|
void |
setNextLeftTupleSinkNode(LeftTupleSinkNode next)
Sets the next node |
void |
setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
Sets the previous node |
String |
toString()
|
void |
updateSink(LeftTupleSink sink,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
void |
writeExternal(ObjectOutput out)
|
| Methods inherited from class org.drools.core.reteoo.LeftTupleSource |
addTupleSink, addTupleSink, addTupleSink, getLeftDeclaredMask, getLeftInferredMask, getLeftInputOtnId, getLeftNegativeMask, getObjectType, getSinkPropagator, initDeclaredMask, initInferredMask, initMasks, isInUse, removeTupleSink, setLeftInferredMask, setLeftInputOtnId, setLeftListenedProperties, setLeftTupleSource |
queryElement
protected QueryElement queryElement
openQuery
protected boolean openQuery
QueryElementNode
public QueryElementNode()
QueryElementNode
public QueryElementNode(int id,
LeftTupleSource tupleSource,
QueryElement queryElement,
boolean tupleMemoryEnabled,
boolean openQuery,
BuildContext context)
readExternal
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
- Specified by:
readExternal in interface Externalizable- Overrides:
readExternal in class LeftTupleSource
- Throws:
IOException
ClassNotFoundException
writeExternal
public void writeExternal(ObjectOutput out)
throws IOException
- Specified by:
writeExternal in interface Externalizable- Overrides:
writeExternal in class LeftTupleSource
- Throws:
IOException
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 oportunity
for state update
- Specified by:
networkUpdated in class BaseNode
getType
public short getType()
- Specified by:
getType in interface NetworkNode- Specified by:
getType in interface LeftTupleSink- Specified by:
getType in class LeftTupleSource
isLeftTupleMemoryEnabled
public boolean isLeftTupleMemoryEnabled()
- Specified by:
isLeftTupleMemoryEnabled in interface LeftTupleSink- Specified by:
isLeftTupleMemoryEnabled in class LeftTupleSource
getQueryElement
public QueryElement getQueryElement()
isOpenQuery
public boolean isOpenQuery()
createFactHandle
public InternalFactHandle createFactHandle(PropagationContext context,
InternalWorkingMemory workingMemory,
LeftTuple leftTuple)
createDroolsQuery
public DroolsQuery createDroolsQuery(LeftTuple leftTuple,
InternalFactHandle handle,
StackEntry stackEntry,
List<PathMemory> pmems,
QueryElementNode.QueryElementNodeMemory qmem,
LeftTupleSets trgLeftTuples,
LeftTupleSink sink,
InternalWorkingMemory workingMemory)
createCollector
protected QueryElementNode.UnificationNodeViewChangedEventListener createCollector(LeftTuple leftTuple,
int[] varIndexes,
boolean tupleMemoryEnabled)
getLeftTupleSource
public LeftTupleSource getLeftTupleSource()
- Specified by:
getLeftTupleSource in interface LeftTupleSink- Overrides:
getLeftTupleSource in class LeftTupleSource
setLeftTupleMemoryEnabled
public void setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
- Specified by:
setLeftTupleMemoryEnabled in interface LeftTupleSink
getNextLeftTupleSinkNode
public LeftTupleSinkNode getNextLeftTupleSinkNode()
- Returns the next node
- Specified by:
getNextLeftTupleSinkNode in interface LeftTupleSinkNode
- Returns:
- The next TupleSinkNode
setNextLeftTupleSinkNode
public void setNextLeftTupleSinkNode(LeftTupleSinkNode next)
- Sets the next node
- Specified by:
setNextLeftTupleSinkNode in interface LeftTupleSinkNode
- Parameters:
next - The next TupleSinkNode
getPreviousLeftTupleSinkNode
public LeftTupleSinkNode getPreviousLeftTupleSinkNode()
- Returns the previous node
- Specified by:
getPreviousLeftTupleSinkNode in interface LeftTupleSinkNode
- Returns:
- The previous TupleSinkNode
setPreviousLeftTupleSinkNode
public void setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
- Sets the previous node
- Specified by:
setPreviousLeftTupleSinkNode in interface LeftTupleSinkNode
- Parameters:
previous - The previous TupleSinkNode
createLeftTuple
public LeftTuple createLeftTuple(InternalFactHandle factHandle,
LeftTupleSink sink,
boolean leftTupleMemoryEnabled)
- Specified by:
createLeftTuple in interface LeftTupleSink
createLeftTuple
public LeftTuple createLeftTuple(InternalFactHandle factHandle,
LeftTuple leftTuple,
LeftTupleSink sink)
- Specified by:
createLeftTuple in interface LeftTupleSink
createLeftTuple
public LeftTuple createLeftTuple(LeftTuple leftTuple,
LeftTupleSink sink,
PropagationContext pctx,
boolean leftTupleMemoryEnabled)
- Specified by:
createLeftTuple in interface LeftTupleSink
createLeftTuple
public LeftTuple createLeftTuple(LeftTuple leftTuple,
RightTuple rightTuple,
LeftTupleSink sink)
- Specified by:
createLeftTuple in interface LeftTupleSink
createLeftTuple
public LeftTuple createLeftTuple(LeftTuple leftTuple,
RightTuple rightTuple,
LeftTuple currentLeftChild,
LeftTuple currentRightChild,
LeftTupleSink sink,
boolean leftTupleMemoryEnabled)
- Specified by:
createLeftTuple in interface LeftTupleSink
hashCode
public int hashCode()
- Description copied from class:
BaseNode
- The hashCode return is simply the unique id of the node. It is expected that base classes will also implement equals(Object object).
- Overrides:
hashCode in class BaseNode
equals
public boolean equals(Object obj)
- Overrides:
equals in class Object
createMemory
public Memory createMemory(RuleBaseConfiguration config,
InternalWorkingMemory wm)
- Specified by:
createMemory in interface MemoryFactory
getObjectTypeNode
protected ObjectTypeNode getObjectTypeNode()
- Specified by:
getObjectTypeNode in class LeftTupleSource
createPeer
public LeftTuple createPeer(LeftTuple original)
- Specified by:
createPeer in interface LeftTupleSink- Specified by:
createPeer in class LeftTupleSource
toString
public String toString()
- Overrides:
toString in class BaseNode
assertLeftTuple
public void assertLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
- Description copied from interface:
LeftTupleSink
- Assert a new
ReteTuple.
- Specified by:
assertLeftTuple in interface LeftTupleSink
- Parameters:
leftTuple - The ReteTuple to propagate.context - The PropagationContext of the WorkingMemory actionworkingMemory - the WorkingMemory session.
retractLeftTuple
public void retractLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
- Specified by:
retractLeftTuple in interface LeftTupleSink
modifyLeftTuple
public void modifyLeftTuple(InternalFactHandle factHandle,
ModifyPreviousTuples modifyPreviousTuples,
PropagationContext context,
InternalWorkingMemory workingMemory)
- Specified by:
modifyLeftTuple in interface LeftTupleSink
updateSink
public void updateSink(LeftTupleSink sink,
PropagationContext context,
InternalWorkingMemory workingMemory)
- Specified by:
updateSink in class LeftTupleSource
modifyLeftTuple
public void modifyLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
- Specified by:
modifyLeftTuple in interface LeftTupleSink
attach
public void attach(BuildContext context)
- Description copied from class:
BaseNode
- Attaches the node into the network. Usually to the parent
ObjectSource or TupleSource
- Specified by:
attach in class BaseNode
doRemove
protected void doRemove(RuleRemovalContext context,
ReteooBuilder builder,
InternalWorkingMemory[] workingMemories)
- Description copied from class:
BaseNode
- Removes the node from teh network. Usually from the parent
ObjectSource or TupleSource
- Specified by:
doRemove in class BaseNode
Copyright © 2001-2014 JBoss by Red Hat. All Rights Reserved.