public class QueryElementNode extends LeftTupleSource implements LeftTupleSinkNode, MemoryFactory<QueryElementNode.QueryElementNodeMemory>
Modifier and Type | Class and Description |
---|---|
static class |
QueryElementNode.QueryElementNodeMemory |
static class |
QueryElementNode.UnificationNodeViewChangedEventListener |
Modifier and Type | Field and Description |
---|---|
protected boolean |
openQuery |
protected QueryElement |
queryElement |
leftInput, sink
associations, hashcode, id, memoryId, partitionId, partitionsEnabled
Constructor and Description |
---|
QueryElementNode() |
QueryElementNode(int id,
LeftTupleSource tupleSource,
QueryElement queryElement,
boolean tupleMemoryEnabled,
boolean openQuery,
BuildContext context) |
addTupleSink, addTupleSink, addTupleSink, getLeftDeclaredMask, getLeftInferredMask, getLeftInputOtnId, getLeftInputPattern, getLeftNegativeMask, getLeftTupleSource, getObjectType, getObjectTypeForPropertyReactivity, getPositionInPath, getSinkPropagator, initDeclaredMask, initInferredMask, initMasks, isInUse, removeTupleSink, setLeftInferredMask, setLeftInputOtnId, setLeftListenedProperties, setLeftTupleSource, setPartitionIdWithSinks, setSourcePartitionId, setSourcePartitionId
addAssociation, addAssociation, getAssociatedRules, getAssociatedRuleSize, getAssociationsSize, getAssociationsSize, getId, getMemoryId, getPartitionId, getSinks, hashCode, initMemoryId, isAssociatedWith, isStreamMode, remove, removeAssociation, setId, setPartitionId, setPartitionsEnabled, setStreamMode, thisNodeEquals
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getLeftInferredMask, getLeftInputOtnId, setLeftInputOtnId, setPartitionIdWithSinks
getLeftTupleSource, getPositionInPath, getSinkPropagator
getAssociatedRuleSize, getAssociationsSize, getAssociationsSize, getId, getPartitionId, isAssociatedWith, thisNodeEquals
getMemoryId
protected QueryElement queryElement
protected boolean openQuery
public QueryElementNode()
public QueryElementNode(int id, LeftTupleSource tupleSource, QueryElement queryElement, boolean tupleMemoryEnabled, boolean openQuery, BuildContext context)
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
readExternal
in class LeftTupleSource
IOException
ClassNotFoundException
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
writeExternal
in class LeftTupleSource
IOException
public void networkUpdated(UpdateContext updateContext)
BaseNode
networkUpdated
in class BaseNode
public short getType()
getType
in interface NetworkNode
getType
in class LeftTupleSource
public boolean isLeftTupleMemoryEnabled()
isLeftTupleMemoryEnabled
in interface LeftTupleSink
isLeftTupleMemoryEnabled
in class LeftTupleSource
public QueryElement getQueryElement()
public boolean isOpenQuery()
public InternalFactHandle createFactHandle(PropagationContext context, InternalWorkingMemory workingMemory, LeftTuple leftTuple)
public DroolsQuery createDroolsQuery(LeftTuple leftTuple, InternalFactHandle handle, StackEntry stackEntry, List<PathMemory> pmems, QueryElementNode.QueryElementNodeMemory qmem, LeftTupleSink sink, InternalWorkingMemory workingMemory)
public Object[] getActualArguments(LeftTuple leftTuple, InternalWorkingMemory workingMemory)
protected QueryElementNode.UnificationNodeViewChangedEventListener createCollector(LeftTuple leftTuple, int[] varIndexes, boolean tupleMemoryEnabled)
public void setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
setLeftTupleMemoryEnabled
in interface LeftTupleSink
public LeftTupleSinkNode getNextLeftTupleSinkNode()
getNextLeftTupleSinkNode
in interface LeftTupleSinkNode
public void setNextLeftTupleSinkNode(LeftTupleSinkNode next)
setNextLeftTupleSinkNode
in interface LeftTupleSinkNode
next
- The next TupleSinkNodepublic LeftTupleSinkNode getPreviousLeftTupleSinkNode()
getPreviousLeftTupleSinkNode
in interface LeftTupleSinkNode
public void setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
setPreviousLeftTupleSinkNode
in interface LeftTupleSinkNode
previous
- The previous TupleSinkNodepublic LeftTuple createLeftTuple(InternalFactHandle factHandle, Sink sink, boolean leftTupleMemoryEnabled)
createLeftTuple
in interface LeftTupleSink
public LeftTuple createLeftTuple(InternalFactHandle factHandle, LeftTuple leftTuple, Sink sink)
createLeftTuple
in interface LeftTupleSink
public LeftTuple createLeftTuple(LeftTuple leftTuple, Sink sink, PropagationContext pctx, boolean leftTupleMemoryEnabled)
createLeftTuple
in interface LeftTupleSink
public LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, Sink sink)
createLeftTuple
in interface LeftTupleSink
public LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, LeftTuple currentLeftChild, LeftTuple currentRightChild, Sink sink, boolean leftTupleMemoryEnabled)
createLeftTuple
in interface LeftTupleSink
protected boolean internalEquals(Object object)
internalEquals
in class BaseNode
public QueryElementNode.QueryElementNodeMemory createMemory(RuleBaseConfiguration config, InternalWorkingMemory wm)
createMemory
in interface MemoryFactory<QueryElementNode.QueryElementNodeMemory>
public ObjectTypeNode getObjectTypeNode()
getObjectTypeNode
in class BaseNode
public LeftTuple createPeer(LeftTuple original)
createPeer
in interface LeftTupleSink
createPeer
in class LeftTupleSource
public void attach(BuildContext context)
BaseNode
ObjectSource
or TupleSource
protected boolean doRemove(RuleRemovalContext context, ReteooBuilder builder, InternalWorkingMemory[] workingMemories)
BaseNode
ObjectSource
or TupleSource
Copyright © 2001–2018 JBoss by Red Hat. All rights reserved.