public class InitialFactNode extends AbstractNode implements ITupleSourceNode, IObjectConsumerNode
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
INITIAL_FACT
The initial fact.
|
protected java.util.Collection |
initial_fact_mem
The initial fact memory.
|
protected Tuple |
initial_fact_tuple
The initial fact tuple.
|
protected IObjectSourceNode |
osource
The object source.
|
protected AttributeSet |
relevants
The set of relevant attributes.
|
protected ITupleConsumerNode[] |
tconsumers
The tuple consumers.
|
clones, nodeid| Constructor and Description |
|---|
InitialFactNode(int nodeid)
Create a new node.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addObject(java.lang.Object object,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
Send a new object to this node.
|
void |
addTupleConsumer(ITupleConsumerNode node)
Add an tuple consumer node.
|
java.lang.Object |
createNodeMemory(IOAVState state)
Create the node memory.
|
protected void |
doClone(java.lang.Object theclone)
Do clone makes a deep clone without regarding cycles.
|
AttributeSet |
getIndirectAttributes()
Get the set of indirect attribute types.
|
java.util.Collection |
getNodeMemory(ReteMemory mem)
Get the memory for this node.
|
IObjectSourceNode |
getObjectSource()
Get the object source of this node.
|
AttributeSet |
getRelevantAttributes()
Get the set of relevant attribute types.
|
ITupleConsumerNode[] |
getTupleConsumers()
Get all tuple consumer nodes.
|
void |
init(IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
Initialize the pattern matcher.
|
void |
modifyIndirectObject(java.lang.Object object,
OAVAttributeType type,
java.lang.Object oldvalue,
java.lang.Object newvalue,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
Propagate an indirect object change to this node.
|
void |
modifyObject(java.lang.Object object,
OAVAttributeType type,
java.lang.Object oldvalue,
java.lang.Object newvalue,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
Propagate an object change to this node.
|
void |
removeObject(java.lang.Object object,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
Send a removed object to this node.
|
void |
removeTupleConsumer(ITupleConsumerNode node)
Remove an tuple consumer.
|
void |
setObjectSource(IObjectSourceNode node)
Set the object source of this node.
|
checkNodeConsistency, clone, equals, getNodeId, hashCode, toString, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitcheckNodeConsistency, clone, getNodeIdpublic static final java.lang.String INITIAL_FACT
protected ITupleConsumerNode[] tconsumers
protected IObjectSourceNode osource
protected volatile AttributeSet relevants
protected Tuple initial_fact_tuple
protected java.util.Collection initial_fact_mem
public void init(IOAVState state, ReteMemory mem, AbstractAgenda agenda)
public void addObject(java.lang.Object object,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
addObject in interface IObjectConsumerNodeobject - The object.public void removeObject(java.lang.Object object,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
removeObject in interface IObjectConsumerNodeobject - The object.public void modifyObject(java.lang.Object object,
OAVAttributeType type,
java.lang.Object oldvalue,
java.lang.Object newvalue,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
modifyObject in interface IObjectConsumerNodeobject - The new object.public void modifyIndirectObject(java.lang.Object object,
OAVAttributeType type,
java.lang.Object oldvalue,
java.lang.Object newvalue,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
modifyIndirectObject in interface INodeobject - The changed object.public void setObjectSource(IObjectSourceNode node)
setObjectSource in interface IObjectConsumerNodenode - The object source node.public IObjectSourceNode getObjectSource()
getObjectSource in interface IObjectConsumerNodepublic void addTupleConsumer(ITupleConsumerNode node)
addTupleConsumer in interface ITupleSourceNodenode - A new consumer node.public void removeTupleConsumer(ITupleConsumerNode node)
removeTupleConsumer in interface ITupleSourceNodenode - The consumer node.public ITupleConsumerNode[] getTupleConsumers()
getTupleConsumers in interface ITupleSourceNodepublic java.util.Collection getNodeMemory(ReteMemory mem)
getNodeMemory in interface INodegetNodeMemory in interface ITupleSourceNodepublic java.lang.Object createNodeMemory(IOAVState state)
createNodeMemory in interface INodestate - The state.public AttributeSet getRelevantAttributes()
getRelevantAttributes in interface INodepublic AttributeSet getIndirectAttributes()
getIndirectAttributes in interface INodeprotected void doClone(java.lang.Object theclone)
doClone in class AbstractNodetheclone - The clone.