Drools :: Core 6.1.0.Beta1

org.drools.core.reteoo
Class AbstractTerminalNode

java.lang.Object
  extended by org.drools.core.common.BaseNode
      extended by org.drools.core.reteoo.AbstractTerminalNode
All Implemented Interfaces:
Externalizable, Serializable, MemoryFactory, NetworkNode, LeftTupleSink, LeftTupleSinkNode, Sink, TerminalNode
Direct Known Subclasses:
QueryTerminalNode, RuleTerminalNode

public abstract class AbstractTerminalNode
extends BaseNode
implements TerminalNode, MemoryFactory, Externalizable

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.drools.core.common.BaseNode
associations, id, partitionId, partitionsEnabled, streamMode
 
Constructor Summary
AbstractTerminalNode()
           
AbstractTerminalNode(int id, RuleBasePartitionId partitionId, boolean partitionsEnabled, LeftTupleSource source)
           
 
Method Summary
 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.
 long getDeclaredMask()
           
 long getInferredMask()
           
 long getLeftInferredMask()
           
 LeftTupleSource getLeftTupleSource()
           
 long getNegativeMask()
           
abstract  Rule getRule()
           
 void initDeclaredMask(BuildContext context)
           
 void initInferredMask()
           
static void initPathMemory(PathMemory pmem, LeftTupleSource tupleSource, LeftTupleSource startTupleSource, InternalWorkingMemory wm, Rule removingRule)
          Creates and return the node memory
 void modifyLeftTuple(InternalFactHandle factHandle, ModifyPreviousTuples modifyPreviousTuples, PropagationContext context, InternalWorkingMemory workingMemory)
           
 void readExternal(ObjectInput in)
           
 void setDeclaredMask(long mask)
           
 void setInferredMask(long mask)
           
 void setNegativeMask(long mask)
           
 LeftTupleSource unwrapTupleSource()
           
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class org.drools.core.common.BaseNode
addAssociation, attach, attach, getAssociations, getId, getPartitionId, hashCode, isInUse, isStreamMode, networkUpdated, remove, removeAssociation, setId, setPartitionId, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.drools.core.reteoo.TerminalNode
getDeclarations, getSalienceDeclarations, getSubRule, getTimerDeclarations, isFireDirect
 
Methods inherited from interface org.drools.core.reteoo.LeftTupleSinkNode
getNextLeftTupleSinkNode, getPreviousLeftTupleSinkNode, setNextLeftTupleSinkNode, setPreviousLeftTupleSinkNode
 
Methods inherited from interface org.drools.core.reteoo.LeftTupleSink
assertLeftTuple, createLeftTuple, createLeftTuple, createLeftTuple, createLeftTuple, createLeftTuple, getLeftInputOtnId, isLeftTupleMemoryEnabled, modifyLeftTuple, retractLeftTuple, setLeftInputOtnId, setLeftTupleMemoryEnabled
 
Methods inherited from interface org.drools.core.common.NetworkNode
getAssociations, getId, getPartitionId
 
Methods inherited from interface org.drools.core.common.MemoryFactory
getId
 

Constructor Detail

AbstractTerminalNode

public AbstractTerminalNode()

AbstractTerminalNode

public AbstractTerminalNode(int id,
                            RuleBasePartitionId partitionId,
                            boolean partitionsEnabled,
                            LeftTupleSource source)
Method Detail

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class BaseNode
Throws:
IOException
ClassNotFoundException

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class BaseNode
Throws:
IOException

initDeclaredMask

public void initDeclaredMask(BuildContext context)

initInferredMask

public void initInferredMask()
Specified by:
initInferredMask in interface TerminalNode

unwrapTupleSource

public LeftTupleSource unwrapTupleSource()
Specified by:
unwrapTupleSource in interface TerminalNode

modifyLeftTuple

public void modifyLeftTuple(InternalFactHandle factHandle,
                            ModifyPreviousTuples modifyPreviousTuples,
                            PropagationContext context,
                            InternalWorkingMemory workingMemory)
Specified by:
modifyLeftTuple in interface LeftTupleSink

getRule

public abstract Rule getRule()
Specified by:
getRule in interface TerminalNode

createMemory

public Memory createMemory(RuleBaseConfiguration config,
                           InternalWorkingMemory wm)
Specified by:
createMemory in interface MemoryFactory

initPathMemory

public static void initPathMemory(PathMemory pmem,
                                  LeftTupleSource tupleSource,
                                  LeftTupleSource startTupleSource,
                                  InternalWorkingMemory wm,
                                  Rule removingRule)
Creates and return the node memory


createPeer

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

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

getLeftTupleSource

public LeftTupleSource getLeftTupleSource()
Specified by:
getLeftTupleSource in interface LeftTupleSink
Specified by:
getLeftTupleSource in interface TerminalNode

getDeclaredMask

public long getDeclaredMask()
Specified by:
getDeclaredMask in interface TerminalNode

getInferredMask

public long getInferredMask()
Specified by:
getInferredMask in interface TerminalNode

getLeftInferredMask

public long getLeftInferredMask()
Specified by:
getLeftInferredMask in interface LeftTupleSink

setDeclaredMask

public void setDeclaredMask(long mask)
Specified by:
setDeclaredMask in interface TerminalNode

setInferredMask

public void setInferredMask(long mask)
Specified by:
setInferredMask in interface TerminalNode

getNegativeMask

public long getNegativeMask()
Specified by:
getNegativeMask in interface TerminalNode

setNegativeMask

public void setNegativeMask(long mask)
Specified by:
setNegativeMask in interface TerminalNode

Drools :: Core 6.1.0.Beta1

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