Class InitialFactNode
- java.lang.Object
- 
- jadex.rules.rulesystem.rete.nodes.AbstractNode
- 
- jadex.rules.rulesystem.rete.nodes.InitialFactNode
 
 
- 
- All Implemented Interfaces:
- INode,- IObjectConsumerNode,- ITupleSourceNode,- java.lang.Cloneable
 
 public class InitialFactNode extends AbstractNode implements ITupleSourceNode, IObjectConsumerNode Dummy fact node for not conditions, which are no joins.
- 
- 
Field SummaryFields Modifier and Type Field Description static java.lang.StringINITIAL_FACTThe initial fact.protected java.util.Collectioninitial_fact_memThe initial fact memory.protected Tupleinitial_fact_tupleThe initial fact tuple.protected IObjectSourceNodeosourceThe object source.protected AttributeSetrelevantsThe set of relevant attributes.protected ITupleConsumerNode[]tconsumersThe tuple consumers.- 
Fields inherited from class jadex.rules.rulesystem.rete.nodes.AbstractNodeclones, nodeid
 
- 
 - 
Constructor SummaryConstructors Constructor Description InitialFactNode(int nodeid)Create a new node.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddObject(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Send a new object to this node.voidaddTupleConsumer(ITupleConsumerNode node)Add an tuple consumer node.java.lang.ObjectcreateNodeMemory(IOAVState state)Create the node memory.protected voiddoClone(java.lang.Object theclone)Do clone makes a deep clone without regarding cycles.AttributeSetgetIndirectAttributes()Get the set of indirect attribute types.java.util.CollectiongetNodeMemory(ReteMemory mem)Get the memory for this node.IObjectSourceNodegetObjectSource()Get the object source of this node.AttributeSetgetRelevantAttributes()Get the set of relevant attribute types.ITupleConsumerNode[]getTupleConsumers()Get all tuple consumer nodes.voidinit(IOAVState state, ReteMemory mem, AbstractAgenda agenda)Initialize the pattern matcher.voidmodifyIndirectObject(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.voidmodifyObject(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.voidremoveObject(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Send a removed object to this node.voidremoveTupleConsumer(ITupleConsumerNode node)Remove an tuple consumer.voidsetObjectSource(IObjectSourceNode node)Set the object source of this node.- 
Methods inherited from class jadex.rules.rulesystem.rete.nodes.AbstractNodecheckNodeConsistency, clone, equals, getNodeId, hashCode, toString, toString
 - 
Methods inherited from class java.lang.Objectfinalize, getClass, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface jadex.rules.rulesystem.rete.nodes.INodecheckNodeConsistency, clone, getNodeId
 
- 
 
- 
- 
- 
Field Detail- 
INITIAL_FACTpublic static final java.lang.String INITIAL_FACT The initial fact.- See Also:
- Constant Field Values
 
 - 
tconsumersprotected ITupleConsumerNode[] tconsumers The tuple consumers.
 - 
osourceprotected IObjectSourceNode osource The object source.
 - 
relevantsprotected volatile AttributeSet relevants The set of relevant attributes.
 - 
initial_fact_tupleprotected Tuple initial_fact_tuple The initial fact tuple.
 - 
initial_fact_memprotected java.util.Collection initial_fact_mem The initial fact memory.
 
- 
 - 
Method Detail- 
initpublic void init(IOAVState state, ReteMemory mem, AbstractAgenda agenda) Initialize the pattern matcher. Called before the agenda is accessed to perform any initialization, if necessary.
 - 
addObjectpublic void addObject(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Send a new object to this node.- Specified by:
- addObjectin interface- IObjectConsumerNode
- Parameters:
- object- The object.
 
 - 
removeObjectpublic void removeObject(java.lang.Object object, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Send a removed object to this node.- Specified by:
- removeObjectin interface- IObjectConsumerNode
- Parameters:
- object- The object.
 
 - 
modifyObjectpublic 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.- Specified by:
- modifyObjectin interface- IObjectConsumerNode
- Parameters:
- object- The new object.
 
 - 
modifyIndirectObjectpublic 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.- Specified by:
- modifyIndirectObjectin interface- INode
- Parameters:
- object- The changed object.
 
 - 
setObjectSourcepublic void setObjectSource(IObjectSourceNode node) Set the object source of this node.- Specified by:
- setObjectSourcein interface- IObjectConsumerNode
- Parameters:
- node- The object source node.
 
 - 
getObjectSourcepublic IObjectSourceNode getObjectSource() Get the object source of this node.- Specified by:
- getObjectSourcein interface- IObjectConsumerNode
- Returns:
- The object source node.
 
 - 
addTupleConsumerpublic void addTupleConsumer(ITupleConsumerNode node) Add an tuple consumer node.- Specified by:
- addTupleConsumerin interface- ITupleSourceNode
- Parameters:
- node- A new consumer node.
 
 - 
removeTupleConsumerpublic void removeTupleConsumer(ITupleConsumerNode node) Remove an tuple consumer.- Specified by:
- removeTupleConsumerin interface- ITupleSourceNode
- Parameters:
- node- The consumer node.
 
 - 
getTupleConsumerspublic ITupleConsumerNode[] getTupleConsumers() Get all tuple consumer nodes.- Specified by:
- getTupleConsumersin interface- ITupleSourceNode
- Returns:
- All tuple consumer nodes.
 
 - 
getNodeMemorypublic java.util.Collection getNodeMemory(ReteMemory mem) Get the memory for this node.- Specified by:
- getNodeMemoryin interface- INode
- Specified by:
- getNodeMemoryin interface- ITupleSourceNode
- Returns:
- The memory.
 
 - 
createNodeMemorypublic java.lang.Object createNodeMemory(IOAVState state) Create the node memory.- Specified by:
- createNodeMemoryin interface- INode
- Parameters:
- state- The state.
- Returns:
- The node memory.
 
 - 
getRelevantAttributespublic AttributeSet getRelevantAttributes() Get the set of relevant attribute types.- Specified by:
- getRelevantAttributesin interface- INode
 
 - 
getIndirectAttributespublic AttributeSet getIndirectAttributes() Get the set of indirect attribute types. I.e. attributes of objects, which are not part of an object conditions (e.g. for chained extractors)- Specified by:
- getIndirectAttributesin interface- INode
- Returns:
- The relevant attribute types.
 
 - 
doCloneprotected void doClone(java.lang.Object theclone) Do clone makes a deep clone without regarding cycles. Method is overridden by subclasses to actually incorporate their attributes.- Specified by:
- doClonein class- AbstractNode
- Parameters:
- theclone- The clone.
 
 
- 
 
-