jeops.rete
Class FilterReteNode

java.lang.Object
  |
  +--jeops.rete.ReteNode
        |
        +--jeops.rete.FilterReteNode

public class FilterReteNode
extends ReteNode

A discriminant node in the Rete network. A discriminant node is one that has only one input and one output, and it will propagate the incoming objects if some property (i.e., a boolean method call) is satisfied. This kind of node doesn't have a memory of objects, filtering out those that don't comply with the property.

Version:
1.0 14 Jul 2000
Author:
Carlos Figueira Filho (csff@cin.ufpe.br)

Field Summary
private  int declIndex
           
private  AbstractKnowledgeBase knowledgeBase
          The rule base used to check the validity of the property of the incoming objects.
private  AbstractRuleBase ruleBase
          The rule base used to check the validity of the property of the incoming objects.
private  int ruleIndex
          The index of the rule that contains the condition to be checked by this node.
 
Fields inherited from class jeops.rete.ReteNode
numberInputs, numberOutputs, successors
 
Constructor Summary
FilterReteNode(AbstractKnowledgeBase knowledgeBase, AbstractRuleBase ruleBase, int ruleIndex, int declIndex)
          Creates a new discriminant rete node.
 
Method Summary
 void newObject(java.lang.Object obj, int input)
          Informs this node that an object has arrived.
 java.lang.String toString()
          Returns a string representation of this object.
 
Methods inherited from class jeops.rete.ReteNode
addSuccessor, addSuccessor, addSuccessor, getNumberInputs, getNumberOutputs, getSuccessors, propagate
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

knowledgeBase

private AbstractKnowledgeBase knowledgeBase
The rule base used to check the validity of the property of the incoming objects.

ruleBase

private AbstractRuleBase ruleBase
The rule base used to check the validity of the property of the incoming objects.

ruleIndex

private int ruleIndex
The index of the rule that contains the condition to be checked by this node.

declIndex

private int declIndex
Constructor Detail

FilterReteNode

public FilterReteNode(AbstractKnowledgeBase knowledgeBase,
                      AbstractRuleBase ruleBase,
                      int ruleIndex,
                      int declIndex)
Creates a new discriminant rete node.
Parameters:
knowledgeBase - the knowledge base that contains this node.
ruleBase - the rule base used to check the validity of the property of the incoming objects.
ruleIndex - the index of the rule that contains the condition to be checked by this node.
declIndex - the index of the declaration whose property is checked by this node.
Method Detail

newObject

public void newObject(java.lang.Object obj,
                      int input)
Informs this node that an object has arrived.
Overrides:
newObject in class ReteNode
Parameters:
obj - the object that arrived at this node.
input - the input number of this node that is to receive the object. This node has only one input, so this parameter is not considered in objects of this class.

toString

public java.lang.String toString()
Returns a string representation of this object. Useful for debugging.
Overrides:
toString in class java.lang.Object
Returns:
a string representation of this object.